ウェブサイト検索

CPUTool - Linux のあらゆるプロセスの CPU 使用率を制限および制御する


Linux パフォーマンス監視における重要な領域の 1 つは、CPU 使用率とシステム負荷です。システム上で何が起こっているかを監視するための Linux パフォーマンス監視ツールがいくつかあります。

これらのツールの多くは単にシステムの状態/統計を出力するだけですが、他のいくつかのツールはシステム パフォーマンスを管理する手段を提供します。そのようなツールの 1 つはCPUTool と呼ばれます。

CPUTool は、プロセスの CPU 使用率を所定の制限に制限および制御するためのシンプルかつ強力なコマンドライン ツールで、システム負荷が定義されたしきい値を超えた場合にプロセスの実行を中断できます。

CPUツールはどのように機能しますか?

CPU 使用率を制限するために、cputool はプロセスにSIGSTOP 信号と SIGCONT 信号を送信します。これはシステム負荷によって決まります。 /proc 疑似ファイルシステムに依存してPID とその CPU 使用率の測定値を読み取ります。

これは、単一プロセスまたはプロセスのグループによって影響を受ける CPU 使用率またはシステム負荷を所定の制限に制限したり、システム負荷がしきい値を超えた場合にプロセスを一時停止したりするために使用できます。

推奨読書: Linux の負荷平均を理解し、Linux のパフォーマンスを監視する

CPUTool をインストールして CPU 使用率と負荷平均を制限する

CPUTool は、パッケージ管理ツールを使用してデフォルトのシステム リポジトリから Debian/Ubuntu およびその派生製品にインストールする場合にのみ使用できます。

sudo apt install cputool

CUPTool を使用してプロセスの CPU 使用率を制限する

それでは、cputool が実際にどのように機能するかを見てみましょう。すべてを実証するために、CPU の使用率が高くなるdd コマンドをバックグラウンドで実行し、その PID を表示します。

dd if=/dev/zero of=/dev/null &

CPU 使用率を監視するには、実行中の Linux システム プロセスの定期的に更新されるリアルタイムの状態を表示できるトップ ツールまたはグランス ツールを使用できます。

top

上記の出力から、dd コマンド が CPU 時間の最も高い割合を占めていることがわかります 99.7%) 次に、次に示すように cputool を使用してこれを制限できます。

--cpu-limit または -c フラグは、プロセスまたはプロセスのグループの使用率を設定するために使用され、-p は指定するために使用されます。 PID。次のコマンドは、dd コマンド (PID 8275) による 1 つの CPU コアの使用を50% に制限します。

cputool --cpu-limit 50 -p 8275 

cputool を実行した後、プロセス (PID 8275) の新しい CPU 使用率をもう一度確認できます。これで、dd プロセスの CPU 使用率は (49.0% ~ 52.0%) の範囲になります。

top

dd の CPU 使用率をさらに 20% に制限するには、cputool をもう一度実行します。

cputool --cpu-limit 20 -p 8275 

次に、次のように、top や Glance などのツールを使用してすぐに確認します (dd の CPU 使用率は、19.0% ~ 22.0% またはこれをわずかに超える範囲になっているはずです)。

top

cputool の実行中、シェルはユーザー入力を期待しないことに注意してください。したがって、応答しなくなります。これを強制終了するには (これにより CPU 使用量制限操作が終了します)、Ctrl + C を押します。

重要なのは、HTTP Web サーバーのプロセス グループ (それぞれ異なる PID を持つ複数の実行インスタンスを持つ 1 つのプログラム) を指定するには、次の手順を実行することです。

pidof apache2
9592 3643 3642 3641 3640 3638 3637 1780

次のように -P フラグを使用します。

cputool --cpu-limit 20 -P 1780

CUPToolによるシステム負荷の制限

-l オプションは、プロセスまたはプロセス グループが実行を継続するためにシステムが受ける最大負荷を指定するために使用されます。小数値 (2.5 など) を使用することもできます。

以下の例は、システム負荷が3.5 を超えない場合にのみ、ローカル バックアップに対して rsync を実行することを意味します。

cputool --load-limit 3.5 --rsync -av /home/tecmint /backup/`date +%Y-%m-%d`/

詳細と使用方法については、CPUTool のマニュアル ページを参照してください。

man cputool

CPU 情報の検索と CPU パフォーマンスの監視については、次の便利なガイドを参照してください。

  1. Linux で CPU 情報を取得するための 9 つの便利なコマンド
  2. Cpustat – Linux でプロセスを実行することにより CPU 使用率を監視します
  3. CoreFreq – Linux システム用の強力な CPU 監視ツール
  4. Linux での最高のメモリと CPU 使用率による上位実行プロセスの検索

結論として、CPUTool は Linux のパフォーマンス管理に非常に役立ちます。以下のフィードバック フォームを使用して、この記事に関するご意見を共有してください。