加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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在他们的第一次运行中都收集了自系统上次重启时间以来的数据.

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读