rootアクセスなしで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呼び出しに失敗しました:無効な要求あなたが見つけたようにニュースに会いなさい。
もう1つの可能性は、カーネルでスワップサポートが欠落してファイルが欠落している場合です。カーネルが設定されていない場合は、cmdlineオプションをCONFIG_MEMCG_SWAP_ENABLED
渡す必要があります。swapaccount=1