PR

【簡単】CPUの負荷を計測する方法【Linux】

cpu Linux
cpu

プログラムやシェルを作った後に動かしてみるとCPUリソースを使いすぎてサーバーがまともに使えない状態にならないよう、作ったプログラムがどのくらいCPUを使っているのか測定する方法をご紹介します。

今回は「mpstat」というコマンドを紹介します。
このコマンドはCPUの使用率をリアルタイムに表示したり特定の期間のCPU使用率の平均を出すことができます。

インストール手順

環境に合わせて下記のいずれかでインストールしてください。

sudo yum install sysstat
sudo apt-get install sysstat

CPUの使用率を表示

mpstatを引数なしで実行すると現在のCPU使用率が表示されます。

$mpstat
Linux 4.4.0-1117-aws (ip-XXX-XXX-XXX-XXX)  11/04/2020      _x86_64_        (16 CPU)

07:47:33 AM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
07:47:34 AM  all   97.62    0.00    2.06    0.31    0.00    0.00    0.00    0.00    0.00    0.00

CPUの使用率をリアルタイムに表示

CPU使用率をリアルタイムに表示し続けたい場合は引数に更新する間隔を秒数で指定します。下記の例では1秒ごとにCPU使用率が表示されます。

$mpstat 1
Linux 4.4.0-1117-aws (ip-XXX-XXX-XXX-XXX)  11/04/2020      _x86_64_        (16 CPU)

07:47:33 AM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
07:47:34 AM  all   97.62    0.00    2.06    0.31    0.00    0.00    0.00    0.00    0.00    0.00
07:47:35 AM  all   98.06    0.00    1.88    0.00    0.00    0.00    0.00    0.00    0.00    0.06
07:47:36 AM  all   98.38    0.00    1.62    0.00    0.00    0.00    0.00    0.00    0.00    0.00
07:47:37 AM  all   97.06    0.00    2.94    0.00    0.00    0.00    0.00    0.00    0.00    0.00
07:47:38 AM  all   97.94    0.00    2.06    0.00    0.00    0.00    0.00    0.00    0.00    0.00
07:47:39 AM  all   98.44    0.00    1.44    0.00    0.00    0.00    0.00    0.00    0.00    0.13

CPU使用率の平均を表示

CPU使用率の平均を表示したい場合はmpstatをリアルタイム表示し、Ctrl+Cで中断することでコマンド実行中の平均値を末尾にAverageで表示してくれます。

$mpstat 1
Linux 4.4.0-1117-aws (ip-XXX-XXX-XXX-XXX)  11/04/2020      _x86_64_        (16 CPU)

05:03:13 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
05:03:14 PM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
05:03:15 PM  all   17.59    0.00    7.04    0.00    0.00    0.00    0.00    0.00    0.00   75.38
05:03:31 PM  all   46.23    0.00    4.02    0.00    0.00    0.00    0.00    0.00    0.00   49.75
~省略~
05:03:32 PM  all   48.00    0.00    2.50    0.00    0.00    0.00    0.00    0.00    0.00   49.50
05:03:33 PM  all   56.28    0.00    6.53    0.00    0.00    0.00    0.00    0.00    0.00   37.19
05:03:34 PM  all    9.00    0.00    0.50    0.00    0.00    0.00    0.00    0.00    0.00   90.50
05:03:35 PM  all    2.51    0.00    0.50    0.00    0.00    0.00    0.00    0.00    0.00   96.98
05:03:36 PM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
^C
Average:     all   39.59    0.00    4.40    0.04    0.00    0.02    0.00    0.00    0.00   55.95

CPU使用率の部分を加工してグラフ表示に使ったりすると視覚的に見えてレポートなどにも使えますね。

タイトルとURLをコピーしました