루트 액세스 없이 cgroup의 리소스 사용을 제한하려고 합니다.
cgm setvalue 메모리 memory.limit_in_bytes 150G를 사용하여 memory.limit_in_bytes를 설정할 수 있습니다.
그러나 memsw.limit_in_bytes가 memory.limit_in_bytes보다 큰지 여부에 관계없이 동일한 방식으로 memsw.limit_in_bytes를 설정할 수 없습니다(memsw 옵션이 최대 메모리 + 스왑 제한을 설정하기 때문에 필요합니다).
내가 얻는 것은 오류 org.freedesktop.DBus.Error.InvalidArgs: 잘못된 요청입니다.
어떤 아이디어가 있나요?
답변1
를 사용할 때는 디렉터리와 해당 파일의 소유자 cgm
만 변경하도록 주의하세요 . cgm chown $controller $cgroup $uid $gid
이 파일에 쓸 수 없는 권한이 없는 사용자는/sys/fs/cgroup/$controller/$cgroup
cgroup.procs
tasks
cgmanager_set_value_sync 호출 실패: 잘못된 요청당신이 발견한 대로 뉴스를 만나보세요.
또 다른 가능성은 커널에서 스왑 지원이 누락되어 파일이 누락된 경우입니다. 커널이 구성되지 않은 경우 cmdline 옵션을 CONFIG_MEMCG_SWAP_ENABLED
전달해야 합니다 .swapaccount=1