mpstatコマンドを利用することにより、各CPUコアのCPU使用率などを取得することができます。
mpstatコマンドがインストールされていない場合は、sysstatパッケージをインストールしてください。
以下のインストール例は、CentOSを使用している場合です。
yum install sysstat
以下のインストール例は、Ubuntuを使用している場合です。(端末を起動しapt-getコマンドでインストールしています。)
sudo apt-get install sysstat
sysstatパッケージに関しては以下の記事を参考にしてください。
mpstatコマンドの書式は以下のようになります。
mpstat [ -P { cpu | ALL } ] [ -V ] [ interval [ count ] ]
各オプションの説明
-P 数字 | CPUコアの番号を指定します。 0から始まります。 |
-P ALL | 全てのコアを表示します。 |
-V | mpstatのバージョンを表示します。 |
interval | 間隔を指定します。 単位は秒になります。 |
count | 回数を指定します。 |
以下、6コア/12スレッドのIntel(R) Xeon(R) CPU E5-2640でmpstatコマンドを実行してみます。
1秒間隔で3回取得した出力例です。
[sakura@centos ~]$ mpstat 1 3 Linux 2.6.18-308.11.1.el5 (centos) 08/09/2012 02:30:40 PM CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s 02:30:41 PM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 1028.00 02:30:42 PM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 1004.00 02:30:43 PM all 0.08 0.00 0.00 0.00 0.00 0.00 0.00 99.92 1025.00 Average: all 0.03 0.00 0.00 0.00 0.00 0.00 0.00 99.97 1019.00
1秒間隔で2回取得した出力例です。
6コア/12スレッドのため、CPUのところに、allと0から11までの12スレッド分のCPU使用率が表示されているのが確認できます。
最後にはアベレージが表示されます。
[sakura@centos ~]$ mpstat -P ALL 1 2 Linux 2.6.18-308.11.1.el5 (centos) 08/09/2012 02:32:41 PM CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s 02:32:42 PM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 1017.82 02:32:42 PM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 992.08 02:32:42 PM 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 0.00 02:32:42 PM 2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 0.00 02:32:42 PM 3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 0.00 02:32:42 PM 4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 21.78 02:32:42 PM 5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 0.00 02:32:42 PM 6 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 0.00 02:32:42 PM 7 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 0.00 02:32:42 PM 8 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 0.00 02:32:42 PM 9 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 0.00 02:32:42 PM 10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 1.98 02:32:42 PM 11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 0.00 02:32:42 PM CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s 02:32:43 PM all 0.08 0.00 0.00 0.00 0.00 0.08 0.00 99.83 1008.00 02:32:43 PM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 1002.00 02:32:43 PM 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 0.00 02:32:43 PM 2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 0.00 02:32:43 PM 3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 0.00 02:32:43 PM 4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 0.00 02:32:43 PM 5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 0.00 02:32:43 PM 6 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 0.00 02:32:43 PM 7 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 0.00 02:32:43 PM 8 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 0.00 02:32:43 PM 9 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 2.00 02:32:43 PM 10 0.00 0.00 0.00 0.00 0.00 0.99 0.00 99.01 4.00 02:32:43 PM 11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 0.00 Average: CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s Average: all 0.04 0.00 0.00 0.00 0.00 0.04 0.00 99.92 1012.94 Average: 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 997.01 Average: 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 0.00 Average: 2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 0.00 Average: 3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 0.00 Average: 4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 10.95 Average: 5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 0.00 Average: 6 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 0.00 Average: 7 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 0.00 Average: 8 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 0.00 Average: 9 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 1.00 Average: 10 0.00 0.00 0.00 0.00 0.00 0.50 0.00 99.50 2.99 Average: 11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 0.00
以上、mpstatコマンドを利用してCPUコア毎のCPU使用率を取得する方法を記しました。