CPUコア使用率の割合を表示するためにtopを使用しないでください。

CPUコア使用率の割合を表示するためにtopを使用しないでください。

私はLinuxでコマンドを実行するためにJavaを使用しています。 topは対話型コマンドであり、すべてのCPUに関する情報を取得するには1を押す必要があるため使用できません。そのため、次のコマンドを使用してCPU情報を取得します。

cat /proc/stat|grep "^cpu[0-9]* ";sleep 3;cat /proc/stat|grep "^cpu[0-9]* "

私が得た結果は次のとおりです。

cpu  4673683 193 832132 1544221346 142352 1220 171760 0 0
cpu0 2473973 90 524817 769734476 73628 1124 158588 0 0
cpu1 2199709 103 307315 774486870 68723 95 13171 0 0
cpu  4673683 193 832133 1544221744 142352 1220 171760 0 0
cpu0 2473974 90 524817 769734674 73628 1124 158588 0 0
cpu1 2199709 103 307315 774487069 68723 95 13171 0 0

今私の質問は、topコマンドで表示される割合を取得する方法です。

 Cpu0  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu1  :  0.0%us,  0.3%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st

ベストアンサー1

mpstatパッケージに含まれているユーティリティを試してくださいsysstat

mpstat -u -P ALL

CentOSホスト(vcpuが1つあるvhost)の出力:

Linux 3.10.0-229.4.2.el7.x86_64 (testhost.testdomain)   08/11/2015  _x86_64_    (1 CPU)

10:03:57 AM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
10:03:57 AM  all    0.21    0.05    0.29    0.04    0.00    0.13    0.00    0.00    0.00   99.28
10:03:57 AM    0    0.21    0.05    0.29    0.04    0.00    0.13    0.00    0.00    0.00   99.28

Ubuntuホストの出力:

Linux 3.13.0-24-generic (myhost)    11-08-15    _x86_64_    (4 CPU)

10:05:37     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
10:05:37     all    3,34    0,04    1,16    0,13    0,08    0,00    0,00    0,00    0,00   95,25
10:05:37       0    2,81    0,06    1,93    0,13    0,11    0,00    0,00    0,00    0,00   94,96
10:05:37       1    3,94    0,03    0,78    0,10    0,03    0,00    0,00    0,00    0,00   95,13
10:05:37       2    3,31    0,02    1,21    0,16    0,07    0,00    0,00    0,00    0,00   95,24
10:05:37       3    3,31    0,05    0,73    0,14    0,10    0,00    0,00    0,00    0,00   95,68

おすすめ記事