linux - 如何在 Linux 上获得总体 CPU 使用率(例如 57%)

标签 linux bash unix cpu

<分区>

我想知道如何使用 bash 获取系统 CPU 使用率并以百分比形式显示。

示例输出:

57%

如果有多个核心,如果可以计算出平均百分比就好了。

最佳答案

看看 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)

关于linux - 如何在 Linux 上获得总体 CPU 使用率(例如 57%),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38803164/

相关文章:

bash - 如何将 grep 输出重定向到变量?

python - 我如何在 Python 中执行 comm Linux 命令

unix - 为什么 ELF 可执行文件可以有 4 个 LOAD 段?

linux - 如何使用 sed 或 awk 在单独的文件中使用模式 grep 行

linux - 递归地 "normalize"文件名

linux - 在bash中获取确切的Linux发行版名称

python - 如何在 Ubuntu 10.04 (lucid) 上安装 python-iso8601_0.1.4-2_all.deb

c - pthread 并在 C 中递归调用 execvp

linux - 如何在多个文件上使用 find 命令执行 awk 脚本

bash - AWK:如何在 Bash 中将列式文件读取为 AWK 脚本?