SSH経由でシステムにアクセスする多くのユーザーを持つCentOS 7.4システムがあります。彼らがシステムのすべてのCPUとメモリを消費するのを防ぐ方法が必要です。たとえば、各ユーザーは1つのCPUコアまたはCPU時間の「1/20共有」を取得します。
私が見た最も近い方法は、ユーザーがログインした後に各ユーザースライスのCPUQuotaプロパティを設定することです。このようにしましたが、設定は何の効果もありませんでした。私は何を見逃していますか?
/etc/systemd/user.conf
設定DefaultCPUAccounting=yes
と再起動- テストユーザーとしてログイン
systemctl set-property user-43045.slice CPUAccounting=yes CPUQuota=20%
- ユーザーとしてcgroup内のシェル(systemd-cgls)から:
dd if=/dev/zero of=/dev/null bs=1024k
CPU使用量にはまだ制限はありません。お持ちですか?サポート済み(廃止予定)SSHユーザーを制限する方法は? cgconfig + cgredメソッドとPAMメソッドはCentOS 7ではまったく機能しないようです。
編集#1 - とソリューション
/etc/systemd/system.conf
これで、オプションを同じに変更するとCPUQuota
機能します。したがって、何らかの理由でsystemdはシステムとユーザーの内容を追跡する必要があります。