我需要显示单个共享内存 12 核 (SMP) 机器上每个处理核心的 CPU 使用率。我没有权限安装 htop,否则我只需使用它。我不需要花哨的图表或仪表,尽管它们会很好。
例如,简单显示:
X X X X X X X X X X X X
其中每个 X 代表我的机器上 12 个处理核心中的 1 个核心的百分比利用率。
仅供参考:我知道我可以简单地查看“top”中的利用率,然后将该数字除以我的机器上的核心数,但我更喜欢分别显示每个核心的解决方案。
答案1
grep ^cpu /proc/stat
这些列是
- 用户:在用户模式下执行的正常进程
- nice:在用户模式下执行的 niced 进程
- 系统:在内核模式下执行的进程
- 闲着:无所事事
- iowait:等待 I/O 完成
- irq:服务中断
- softirq:服务软中断
时间单位为 USER_HZ 或 Jiffies(通常为百分之一秒)。
所以你可以
grep ^cpu[0-9] /proc/stat | cut -d' ' -f1,5
或者使用 awk 将这些数字转换为百分比并按照您想要的方式显示它们。
参考: Linux 指南