如何在bash中获取过去10秒的平均CPU使用率?

如何在bash中获取过去10秒的平均CPU使用率?

我需要一个命令来显示echoUbuntu 18 中过去 10 秒的平均 CPU 使用率。

必须满足以下每个条件:

  1. 它必须是轻量级的,占用空间非常小,运行后台脚本不断写入文件系统是不行的。
  2. 该值必须自动考虑核心数量(我之前不知道核心数量)。
  3. 该值必须是 0 到 1 之间的数字。不应有任何其他输出,因为它将由脚本而不是人类读取。或者建议一个强大的算法来解析建议命令的输出,无论它是什么。
  4. 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

相关内容