![如何在bash中获取过去10秒的平均CPU使用率?](https://linux22.com/image/151564/%E5%A6%82%E4%BD%95%E5%9C%A8bash%E4%B8%AD%E8%8E%B7%E5%8F%96%E8%BF%87%E5%8E%BB10%E7%A7%92%E7%9A%84%E5%B9%B3%E5%9D%87CPU%E4%BD%BF%E7%94%A8%E7%8E%87%EF%BC%9F.png)
我需要一个命令来显示echo
Ubuntu 18 中过去 10 秒的平均 CPU 使用率。
必须满足以下每个条件:
- 它必须是轻量级的,占用空间非常小,运行后台脚本不断写入文件系统是不行的。
- 该值必须自动考虑核心数量(我之前不知道核心数量)。
- 该值必须是 0 到 1 之间的数字。不应有任何其他输出,因为它将由脚本而不是人类读取。或者建议一个强大的算法来解析建议命令的输出,无论它是什么。
sudo
要求很好,但是脚本必须能够通过 SSH 作为命令运行,并且它必须具有正确的进程返回行为(0
成功的退出代码)。
内置命令和工具是首选,但附加软件也可以,只要官方存储库中提供即可。
答案1
该sysstat
软件包提供了sar
一个系统活动数据收集器。
sar -u ALL 10 1
帖子平均的的CPU统计数据下一个自启动命令后 10 秒。输出就像
Linux 5(...) 11/05/21 _x86_64_ (1 CPU)
17:22:35 CPU %user %nice %system %iowait %steal %idle
17:22:36 all 8.85 20.75 2.46 0.00 0.00 67.94
Average: all 8.85 20.75 2.46 0.00 0.00 67.94