GNU/Linux >> Linux の 問題 >  >> Linux

systemd での CPUQuota の使用

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 帯域幅の消費が (その期間の) この制限を超えると、その階層に属するタスクは調整され、次の期間まで再度実行できなくなります。


Linux
  1. lxc-execute でメモリと CPU を制限する

  2. iptables または tc を使用してクライアントごとのパケットを制限する方法。

  3. ユーザー空間の cpufreq ガバナーを使用できず、CPU 周波数を設定できません

  1. cronjobsの代わりにsystemdタイマーを使用する

  2. LinuxでプロセスのCPU使用率を制限する方法

  3. Systemctlコマンドを使用してSystemdサービスを管理する方法

  1. Linux – SystemdのすべてのデーモンにデフォルトのCPUアフィニティを設定するにはどうすればよいですか?

  2. ダウン時に Systemd を使用してサービスを再起動する方法は?

  3. systemd によって管理されるサービスのメモリを制限する方法