linux – Top在第一个屏幕或批处理运行时显示64%空闲,而根本没
发布时间:2020-12-14 02:27:56 所属栏目:Linux 来源:网络整理
导读:我在几个4核心服务器上运行了一个非常繁重的数字运算,所有运行Ubuntu Precise Pangolin LTS 64位,在云端(所以我想在虚拟化环境中). 为了监控cpu的使用情况,我编写了一个.sh,它使用“top -b -n 1”(这是一个top运行,只有第一个“frame”)并将它与其他一些数据
我在几个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在他们的第一次运行中都收集了自系统上次重启时间以来的数据.
连续迭代在您指定的采样周期上运行.因此,在第一次运行顶部时,您将看到%空闲时间,因为从重新启动到运行顶部的时间,它是空闲的%.但是在下一次迭代中,由于它很忙,它不会显示任何%空闲. 排除第一次迭代并尝试在所需的时间间隔内进行采样. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |