web-dev-qa-db-ja.com

memory.memsw.limit_in_bytes:無効な引数

私はDebian10サーバーを持っていて、cgroups2を使用してユーザーのメモリとスワップを制限しようとしています。

memory.limit_in_bytesの使用は正常に機能しますが、機能していないmemory.memsw.limit_in_bytesを使用してメモリとスワップを制限したいと思います。

cgconfigparserを実行すると、このエラーが発生します。

root@server:~# cgconfigparser -l /etc/cgconfig.conf
Error: failed to set /sys/fs/cgroup/memory/group1/memory.memsw.limit_in_bytes: Invalid argument
cgconfigparser; error loading /etc/cgconfig.conf: Failed to remove a non-empty group
root@server:~#

グループは次のとおりです。

group group1 {
  memory {
    memory.memsw.limit_in_bytes = 512m;
  }
}

何が問題なのかについて何か考えはありますか?

編集:GRUBコマンドでcgroupsメモリとswapaccountをすでに有効にしましたが、それでも問題は発生します。

1
MatrixCow08

答えを提供してくれた@ doktor5000に感謝します 単一のLinuxプロセスのメモリ使用量を制限します

その回答から、次のように結論付けました。memory.limit_in_bytesmemory.memsw.limit_in_bytesの前に設定する必要があり、memory.memsw.limit_in_bytesmemory.limit_in_bytes以上である必要があります。

したがって、私の場合、このグループ構成は機能しました。

group group1 {
  memory {
    memory.limit_in_bytes = 512m;
    memory.memsw.limit_in_bytes = 512m;
  }
}

これは、ユーザーのメモリとスワップを512MBに制限しているようです。私はそれを https://github.com/julman99/eatmemory でテストしました

1
MatrixCow08