python – 以百分比显示CPU核心使用情况,而不使用top命令
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 以百分比显示CPU核心使用情况,而不使用top命令,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1728字,纯文字阅读大概需要3分钟。
内容图文
![python – 以百分比显示CPU核心使用情况,而不使用top命令](/upload/InfoBanner/zyjiaocheng/795/4bafecb7e3c54bd4926867c51738cd7c.jpg)
我正在使用Java在Linux上运行命令.由于top是一个交互式命令,需要按1才能获取所有cpu的信息,所以我不能使用它.所以我使用以下命令来获取cpu(s)信息:
cat /proc/stat|grep "^cpu[0-9]* ";sleep 3;cat /proc/stat|grep "^cpu[0-9]* "
我得到的输出为:
cpu 4673683 193 832132 1544221346 142352 1220 171760 0 0
cpu0 2473973 90 524817 769734476 73628 1124 158588 0 0
cpu1 2199709 103 307315 774486870 68723 95 13171 0 0
cpu 4673683 193 832133 1544221744 142352 1220 171760 0 0
cpu0 2473974 90 524817 769734674 73628 1124 158588 0 0
cpu1 2199709 103 307315 774487069 68723 95 13171 0 0
现在我的问题是如何在顶级命令显示时从中获取百分比.
Cpu0 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1 : 0.0%us, 0.3%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
我无法安装像mpstat这样的软件包.
解决方法:
从阅读man page for /proc/stat和how to page开始,数字代表……
…the amount of time the CPU has spent performing different kinds of work. Time units are in USER_HZ or Jiffies (typically hundredths of a second).
有了这些知识,我相信创造你想要的百分比是非常直接的.使用你给我们的输出,这是你如何做到这一点.但是,请记住,自计算机/服务器上次重新启动以来,这些数字将在整个时间内聚合.
/ proc / stat文件输出:
cpu0 2473973 90 524817 769734476 73628 1124 158588 0 0
cpu1 2199709 103 307315 774486870 68723 95 13171 0 0
一些简单的数学
首先添加自启动以来的总耗用时间单位.
772966696 = 2473973 + 90 + 524817 + 769734476 + 73628 + 1124 + 158588 + 0 + 0
现在计算这些百分比
cpu0: 2473973/772966696 90/772966696 524817/772966696 769734476/772966696 ...
并格式化输出
cpu0: 0.3%us, 0.0%sy, 0.0%ni, 99.5% id ...
如果你需要帮助编码,请告诉我,但它不应该比阅读文件更难,拉出你想要的线条,按空格分割线条并进行上面的数学运算.希望这是有道理的,并随时问我任何后续问题.
内容总结
以上是互联网集市为您收集整理的python – 以百分比显示CPU核心使用情况,而不使用top命令全部内容,希望文章能够帮你解决python – 以百分比显示CPU核心使用情况,而不使用top命令所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。