cgmを使用してUbuntuサーバーのcgroupにmemory.memsw.limit_in_bytesを設定することはできません。

cgmを使用してUbuntuサーバーのcgroupにmemory.memsw.limit_in_bytesを設定することはできません。

rootアクセスなしでcgroupのリソース使用量を制限しようとしています。

cgm setvalue メモリ memory.limit_in_bytes 150G を使用して memory.limit_in_bytes を設定できます。

ただし、me​​msw.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呼び出しに失敗しました:無効な要求あなたが見つけたようにニュースに会いなさい。

もう1つの可能性は、カーネルでスワップサポートが欠落してファイルが欠落している場合です。カーネルが設定されていない場合は、cmdlineオプションをCONFIG_MEMCG_SWAP_ENABLED渡す必要があります。swapaccount=1

関連情報