cgm을 사용하여 Ubuntu 서버의 cgroup에서 memory.memsw.limit_in_bytes를 설정할 수 없습니다.

cgm을 사용하여 Ubuntu 서버의 cgroup에서 memory.memsw.limit_in_bytes를 설정할 수 없습니다.

루트 액세스 없이 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/$cgroupcgroup.procstaskscgmanager_set_value_sync 호출 실패: 잘못된 요청당신이 발견한 대로 뉴스를 만나보세요.

또 다른 가능성은 커널에서 스왑 지원이 누락되어 파일이 누락된 경우입니다. 커널이 구성되지 않은 경우 cmdline 옵션을 CONFIG_MEMCG_SWAP_ENABLED전달해야 합니다 .swapaccount=1

관련 정보