我有一个 CentOS 7.4 系统,它有许多通过 SSH 访问系统的用户。我需要一种方法来防止它们消耗系统的所有 CPU 和内存。例如,每个用户获得 1 个 CPU 内核或“1/20 份额”的 CPU 时间就可以了。
我所拥有的最接近的是在用户登录后设置每个用户切片的 CPUQuota 属性。我这样做了,但设置没有效果。我错过了什么?
/etc/systemd/user.conf
已DefaultCPUAccounting=yes
设置然后重新启动systemctl set-property user-43045.slice CPUAccounting=yes CPUQuota=20%
dd if=/dev/zero of=/dev/null bs=1024k
CPU使用率仍然没有限制。是否有任何受支持的、未弃用的方法来限制 SSH 用户?cgconfig+cgred 方法和 PAM 方法在 CentOS 7 上似乎根本不起作用。
/etc/systemd/system.conf
对CPUQuota
选项进行相同的更改后,现在有效果。因此 systemd 出于某种原因需要跟踪系统和用户中的事物。