我在 Linux 下使用一个名为 collectd 的工具,它可以为我提供不同的 CPU 统计数据。我得到:
CPU用户模式
CPU系统模式
CPU不错
CPU空闲
CPU等待
CPU中断
cpu 软中断
CPU窃取
现在,我想结合这些统计数据来获取 CPU 使用率。有什么想法吗?
编辑:查看互联网,似乎我可以通过减去 cpu_user_mode 统计的两个连续测量值(除以 100,ofc)来获得用户空间中使用的 %cpu。这是为什么?这些值表示从启动开始在这些状态下 CPU 所花费的时间...为什么如果我减去两个测量值,我就能得到 %?
答案1
如果您想要了解 CPU 的总使用情况,我使用以下命令:
top -b -d1 -n1|grep -i "Cpu(s)"|head -c21|cut -d ' ' -f3|cut -d '%' -f1