我正在尝试限制单个用户的内存,以免导致我们的 OpenSuse 服务器崩溃。
我所做的是如此处所述,修改用户切片的限制
systemctl set-property user-$UID.slice MemoryHigh=20G
其中 $UID 是用户 ID...例如,系统上创建的第一个用户的 ID 为 1000。现在查询切片的状态,我得到:
● user-$UID.slice
Loaded: loaded
Drop-In: /etc/systemd/system.control/user-1008.slice.d
└─50-MemoryHigh.conf, 50-MemoryLimit.conf
Active: inactive (dead)
如果用户通过 ssh 登录并运行某些进程,状态也不会改变。我想知道这些限制是否强制执行?
我有几个问题:
- 我如何检查限制是否得到强制执行?
- 我已在 sshd 文件中关闭了 PAM 身份验证。这与此有关吗?将 PAMAuthentication 设置为是时,我需要注意什么?我会被锁定在 ssh 之外吗?我有点犹豫,因为把自己锁定意味着要开车去服务器位置…… :D
- 是否有人遇到过同样的问题并可以分享其解决方案?
- 有没有办法为某个用户组中的一群用户设置内存限制?那么,我是不是可以简单地为懒汉创建一个用户组,然后将难缠的用户添加到这个组中,而不是为每个新用户制定一条规则,从而破坏系统?
欢迎任何建议:我也发了这里的问题因为我不确定哪个社区更合适。