mpstat
マルチプロセッサ統計ツールの mpstat(MultiProcessor STATistics) は、CPU ごとの統計情報を報告
-P ALL オプションを指定して、CPU ごとのレポートを出力
$ mpstat -P ALL 1 5 Linux 3.10.0-693.11.1.el7.x86_64 (tools) 2018年04月24日 _x86_64_ (2 CPU) 10時38分38秒 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 10時38分39秒 all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 10時38分39秒 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 10時38分39秒 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 10時38分39秒 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 10時38分40秒 all 0.00 0.00 0.00 0.00 0.00 0.00 0.50 0.00 0.00 99.50 10時38分40秒 0 0.00 0.00 0.00 0.00 0.00 0.00 1.00 0.00 0.00 99.00 10時38分40秒 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 10時38分40秒 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 10時38分41秒 all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 10時38分41秒 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 10時38分41秒 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 10時38分41秒 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 10時38分42秒 all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 10時38分42秒 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 10時38分42秒 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 10時38分42秒 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 10時38分43秒 all 0.00 0.00 0.50 0.00 0.00 0.00 0.00 0.00 0.00 99.50 10時38分43秒 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 10時38分43秒 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 平均値: CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 平均値: all 0.00 0.00 0.10 0.00 0.00 0.00 0.10 0.00 0.00 99.80 平均値: 0 0.00 0.00 0.00 0.00 0.00 0.00 0.20 0.00 0.00 99.80 平均値: 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
- CPU
- 論理 CPU ID
- サマリ情報では all
- %usr
- ユーザー時間
- %nice
- ナイス値で優先度を操作したプロセスのユーザー時間
- %sys
- システム時間(カーネル)
- %iowait
- I/O 待ち時間
- %irq
- ハードウェア割り込みによる CPU 使用時間
- %soft
- ソフトウェア割り込みによる CPU 使用時間
- %steal
- ほかのテナントのために使われた CPU 時間
- %guest
- ゲスト仮想マシンのために使われた CPU 時間
- %idle
- アイドル時間
- CPU
重要なのは、%usr、%sys、%idle の 3 つの欄
- CPU ごとの使用状況がわかり、ユーザー時間 / システム時間の比率がわかる
- (ほかの CPU は異なるのに)使用率が 100%(%usr+%sys)で実行されている「ホット」CPU もわかる
- ホット CPU ができる原因は、シングルスレッドアプリケーションの ワークロードやデバイス割り込みマッピングなどである