📅  最后修改于: 2023-12-03 15:17:23.572000             🧑  作者: Mango
在 Linux 系统中,有时我们需要监测每个内核的 CPU 使用率,以便了解系统的负载情况,以及调优系统性能。本文将介绍如何使用 Linux 命令行工具来获取每个内核的 CPU 使用率。
top
命令可以用来实时查看系统中每个进程的 CPU 使用率,也可以通过设置选项来查看每个 CPU 内核的使用率。
top -d 1 -n 5 -b | grep 'Cpu(s)' | tail -n 1 | awk '{ print $2+$4+$6 }'
-d 1
表示每秒钟更新一次数据;-n 5
表示刷新 5 次数据后退出;-b
表示在非交互模式下运行。该命令会输出所有 CPU 的总使用率。
mpstat
命令可以报告每个 CPU 的使用率及其他统计数据。它是 sysstat 包的一部分,如果你的系统上没有安装该包,可以使用以下命令安装:
sudo apt-get update
sudo apt-get install sysstat
安装完毕后,可以使用以下命令查看每个 CPU 的使用率:
mpstat -P ALL 1 5 | awk '/^Average:/ {print 100-$NF}'
-P ALL
表示报告所有 CPU 的统计数据;1
表示每秒钟更新一次数据;5
表示刷新 5 次数据后退出。该命令会输出每个 CPU 的使用率。
pidstat
命令可以显示每个进程的 CPU 使用率及其他统计数据。如果需要查看每个 CPU 的使用率,则可以将 top
命令和 pidstat
命令配合使用。
top -d 1 -n 5 -b | grep '^\s*[0-9]' | awk '{ print $1 }' | xargs pidstat -u | awk 'BEGIN { FS=" " }; { if ($3 ~ /.[0-9]/) {print 100-$8} }'
-d 1
表示每秒钟更新一次数据;-n 5
表示刷新 5 次数据后退出;-b
表示在非交互模式下运行。该命令会输出每个 CPU 的使用率。
以上就是通过 Linux 命令行工具获取每个内核的 CPU 使用率的方法。通过这些方法,我们可以及时了解系统负载情况,以便对系统进行调优。