问题
如何限制用户“testme”的内存资源,例如用户“testme”将只能从系统中获得100mb的内存。
on
it
road
.com
解决方法
ulimit 将无法实现此目标,因为在这种情况下 ulimit 会限制每个进程的用户内存消耗,客户希望将用户“testme”内存配额设置为 100mb。
- 实现限制用户内存资源的简单解决方案是:
# vi /etc/cgconfig.conf
其中添加:
group memlimit { memory { memory.limit_in_bytes = 104857600; } }
上面将创建名为 memlimit 的 cgroup,其中限制为 100mb
- 现在编辑另一个文件:
# vi /etc/cgrules.conf
其中添加:
testme memory memlimit/
这将告诉 cgroups 用户 testme 将被添加到 memlimit cgroup 并且只能从系统中获取 100mb。
- 重新启动 cgred 和 cgconfig 服务并使它们能够在引导时使用 chkconfig 启动:
# service cgred restart # service cgconfig restart
# chkconfig cgred on # chkconfig cgconfig on
以上命令将启动 cgred/cgconfig 并确保它们也将在系统启动时启动。
现在用户 testme 应该只能从内存资源中获取 100mb。
日期:2020-09-17 00:13:41 来源:oir作者:oir