GPUベースのシステムがあります。複数のユーザーがシステムを使用しているため、RAMが完全に利用されてメモリが残らないことがよくあります。私を除くすべてのユーザーに最大RAM制限を設定したいと思います。私は以下を試しました:
Ubuntuでグループ作成を使用してください
groupadd
。
ポイント3.1に従ってUbuntuでcgroups
グループを作成するにはmemlimit
地図時間質問:明らかに、
cgcreate
私が作成したグループのUIDを取得する方法はありません。これをフォローしました回答:Ubuntuを使用してUbuntuに
グループを作成しました。にグループが作成されました。最後に実行されました。groupname
groupadd
memlimit
/etc/cgconfig.conf
/etc/cgrules.conf
@groupname memory memlimit/
sudo cgrulesengd
質問:エラーはありませんが、メモリの制限は影響しません。
答え1
もしcgroup 統合 (cgroup バージョン 2)許可され、管理者パスワードがあります。次のステップはUbuntuで動作します。18.04(以前のバージョンのUbuntuについてはわかりません):
systemd.unified_cgroup_hierarchy=1
に追加しGRUB_CMDLINE_LINUX_DEFAULT
て/etc/default/grub
実行しますupdate-grub
。- 以下を実行してください
/etc/systemd/system/user.slice.d/allmemory.conf
[Slice] MemoryHigh=32G
- Linuxを再起動してください。これにより、ユーザーを含むすべてのユーザーのメモリ消費量が32GBに制限されます。この制限を取り除くには、別のシェルを起動してください
systemd-run --scope /bin/bash
。新しいbashシェルは他のcgroupに属し、メモリによって制御されません。