如何在 Linux 上获取整体 CPU 使用率(例如 57%)

新手上路,请多包涵

例如,我想知道如何获取系统 CPU 使用率并使用 bash 以百分比表示。

样本输出:

 57%

如果有多个内核,最好能计算出平均百分比。

原文由 user1199739 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 850
1 个回答

看看 cat /proc/stat

grep 'cpu ' /proc/stat | awk '{usage=($2+$4)*100/($2+$4+$5)} END {print usage "%"}'

编辑 请在复制粘贴之前阅读评论或将其用于任何严肃的工作。这未经测试或使用,对于不想安装实用程序或在任何发行版中工作的人来说,这是一个想法。有些人认为你可以“apt-get install”任何东西。

注意: 这不是 当前 的 CPU 使用率,而是自系统启动以来所有内核的总体 CPU 使用率。这可能与当前的 CPU 使用情况有很大不同。要获得当前值,必须使用 top(或类似工具)。

当前的 CPU 使用率可以通过以下方式计算:

 awk '{u=$2+$4; t=$2+$4+$5; if (NR==1){u1=u; t1=t;} else print ($2+$4-u1) * 100 / (t-t1) "%"; }' \
<(grep 'cpu ' /proc/stat) <(sleep 1;grep 'cpu ' /proc/stat)

原文由 vimdude 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题