我读了这个问题并尝试了建议的方法。我\etc\cgconfig.conf
这样编辑:
group memlimit {
memory {
memory.limit_in_bytes = 21474836480;
}
}
和/etc/cgrules.conf
user1 memory memlimit/
但它不起作用。
使用/etc/security/limits.conf
中止大于内存阈值的进程。我只想让进程存活并将其发送到交换。我使用的是 Ubuntu,18.04LTS 操作系统。我已经安装了
apt install cgroup-tools
。
这里建议使用GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
并更新grub。更新 grub 安全吗?
答案1
是的,使用这些选项更新 grub 是安全的。事实上,您添加的内核参数使 cgroup 能够管理内存限制和交换。
如果你已经安装了 docker,如果你不添加这些选项,你将会收到警告。 docker上也写了安装后文档在页面末尾。在其他发行版上,不需要这些选项,因为它们默认启用。
所以回到你的问题,是的,这些内核参数可以解决你的问题。