1

パラメータなしで vmstat コマンドを発行すると、次の結果が得られます。

# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
7 117      0 719328 1251624 258624672    0    0   346    64    0    0  4  0 92  3  0

ご覧のとおり、CPU のアイドル状態は 92% です。コマンドを何度発行しても、同様の結果が得られます。

しかし、時間間隔パラメーターを指定して vmstat を発行すると、CPU アイドル値がすぐに低下します。

# vmstat 5        
    procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
385  0      0 145380064 1457188 115708528    0    0   346    64    0    0  4  0 92  3  0
417  0      0 144694256 1457204 116388928    0    0     0    49 1122 528500 84  5 12  0  0
413  0      0 143960640 1457220 117117040    0    0     0    31 1127 529619 84  5 11  0  0
418  0      0 143224224 1457228 117850080    0    0     0    26 1114 530135 84  5 11  0  0
444  0      0 142483520 1457240 118587048    0    0     0    33 1112 530314 84  5 11  0  0
397  0      0 141820240 1457256 119245040    0    0     0    37 1114 531348 85  5 10  0  0

ここにあります!5 秒間隔で結果を取得しても、CPU アイドル値は約 80% 低下します。

vmstat 自体がこれほど多くの CPU パワーを消費するかどうかは想像できません (サーバーには 32 個の Inter Xeon X7550 CPU があり、それぞれに 2 つのコアと 2 つのスレッドがあります)。

私が失った %80 の CPU パワーについて誰か手掛かりを教えてもらえますか?

4

2 に答える 2

7

vmstat による最初の統計出力は、マシンが最後に起動してからの平均統計を示します (時間遅延を指定するかどうかに関係なく)。時間遅延を指定すると、後続の統計には、各間隔間のマシンの統計が表示されます。たとえば、5 秒の時間遅延を指定すると、最初の統計には、マシンが最後に起動されてからの統計が表示されます。2 番目の統計は、最初の統計を報告してから 5 秒後の統計を示します。3 番目の統計は、2 番目の統計の 5 秒後の統計を示します。

于 2012-10-02T13:45:03.260 に答える
1

マニュアルページから:

If no delay is specified, 
only one report is printed with the average values since boot.
于 2012-08-03T13:39:47.927 に答える