Debian
memory.memsw.limit_in_bytes:無效參數
我有一個 Debian 10 伺服器,我正在嘗試使用 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 記憶體和交換帳戶,但問題仍然存在。
感謝@doktor5000 提供了限制單個Linux 程序的記憶體使用的答案
我從那個答案中得出以下結論:
memory.limit_in_bytes
必須在 之前設置memory.memsw.limit_in_bytes
,並且memory.memsw.limit_in_bytes
必須大於或等於memory.limit_in_bytes
所以在我的情況下,這個組配置有效:
group group1 { memory { memory.limit_in_bytes = 512m; memory.memsw.limit_in_bytes = 512m; } }
這似乎將使用者的記憶體+交換限制為 512MB。我已經用https://github.com/julman99/eatmemory對其進行了測試