2012-07-25 89 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.