CPU 使用率を制限する別の方法:1.タスクセット コマンドを使用します。2.対照群を使用する。3. docker を使用し、cpuset.4 を使用して CPU 使用率を制限します。アプリケーションのスレッド数を減らします。このアプローチでは、いくらかの計算が必要です。
cpulimit
を実行することもできます。 デーモンとして。これはテストしていません。それは単なるアイデアです。
ubuntu リポジトリにあります:
sudo apt install cpulimit
必要に応じて systemd を使用してください。これによりすべてが制限されます dd のインスタンスを 20% CPU にします。
[Unit]
Description=dd CPU Limiter
[Service]
ExecStart=/usr/bin/cpulimit -e dd -l 20
[Install]
WantedBy=multi-user.target
ソース
https://unix.stackexchange.com/questions/213903/linux-cgroups-limit-cpu-usage-in-absolute-values-which-do-not-depend-on-cpu で与えられた別の有効な回答に偶然出くわしました-スペ
CPU 帯域幅のハード リミットが必要な場合は、cpu.cfs_quota_us と cpu.cfs_period_us を使用できます。カーネルの CFS ドキュメントから:
グループに許可される帯域幅は、クォータと期間を使用して指定されます。与えられた各「期間」(マイクロ秒) 内で、グループは最大「クォータ」マイクロ秒の CPU 時間しか消費できません。グループの CPU 帯域幅の消費が (その期間の) この制限を超えると、その階層に属するタスクは調整され、次の期間まで再度実行できなくなります。