2012-07-25 107 views
1

的時候我不帶任何參數發出vmstat命令我得到這樣的結果: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能力(服務器有32x Inter Xeon X7550 CPU,每個CPU有兩個2核心和2個線程)。

有人可以給我一個關於這個%80 Cpu電源的線索我是否鬆動?

回答

7

通過vmstat的第一個統計輸出給你,因爲機器上次啓動以來的平均統計(不管你指定的時間延遲與否)。當您指定時間延遲時,隨後的統計數據將顯示每個時間間隔之間機器的狀態。例如,假設您指定5秒的時間延遲,則第一個統計數據將顯示機器上次啓動後的統計數據。第二個屬性會在報告第一個屬性後5秒向你顯示屬性。第三個屬性會在第二個屬性後5秒後顯示你的屬性。

1

從手冊頁:

If no delay is specified, 
only one report is printed with the average values since boot.