linux – Top在第一个屏幕或批处理运行时显示64%空闲,而根本没有空闲时间

我在几个4核心服务器上运行了一个非常繁重的数字运算,所有运行Ubuntu Precise Pangolin LTS 64位,在云端(所以我想在虚拟化环境中).

为了监控cpu的使用情况,我编写了一个.sh,它使用“top -b -n 1”(这是一个top运行,只有第一个“frame”)并将它与其他一些数据合并,写一个小报告.

但是,对于每台服务器,top总是在cpus线上报告64%空闲,即使我非常确定所有四个核心都是100%忙碌.

实际上,以交互方式运行顶部,在第一帧中它报告64%的空闲时间,但是一旦刷新它就会报告正确的(几乎0%空闲)数据.

vmstat,在cpu列中,总是在第一行报告64%的空闲时间,然后开始报告(据称)实际数据.

为什么?它是top / vmstat或内核中的错误吗?或者它是如何测量cpu%的已知副作用?为什么总是64%?

cpu load总是正确的(大约4).

解决方法

这是因为top,vmstat,iostat在他们的第一次运行中都收集了自系统上次重启时间以来的数据.

连续迭代在您指定的采样周期上运行.因此,在第一次运行顶部时,您将看到%空闲时间,因为从重新启动到运行顶部的时间,它是空闲的%.但是在下一次迭代中,由于它很忙,它不会显示任何%空闲.

排除第一次迭代并尝试在所需的时间间隔内进行采样.

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...