用户资源管理:cgroups + systemd + ssh

用户资源管理:cgroups + systemd + ssh

我试图限制单个用户的内存,这会导致 OpenSuse 服务器不断崩溃。

我所做的是如这里所述,通过以下方式修改用户切片的限制

systemctl set-property user-$UID.slice MemoryHigh=20G

其中 $UID 是用户 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 登录并运行某些进程,状态也不会改变。我想知道这些限制是否得到执行?

所以我有几个问题:

  1. 如何检查限制是否得到执行?
  2. 我已在 sshd 文件中关闭 PAM 身份验证。跟这有什么关系吗?将 PAMAuthentication 设置为 yes 时需要注意什么?我会被锁定在 ssh 之外吗?我有点犹豫,因为把自己锁在外面意味着开车去服务器位置......:D
  3. 有人遇到过同样的问题并可以分享他或她的解决方案吗?
  4. 有没有办法为某个用户组内的一堆用户设置内存限制?因此,我是否可以简单地为懒人创建一个用户组,然后将困难的用户添加到该组中,而不是为每个导致系统崩溃的新用户制定规则?

欢迎任何建议:D

相关内容