cpustat怎样显示CPU负载情况
cpustat是sysstat工具包中的LinuxCPU监控命令,可展示CPU时间在用户进程、系统进程、I/O等待等状态中的分配情况,帮助定位系统瓶颈。安装后直接运行可查看整体使用情况,使用-p选项可查看特定核心负载,为性能分析与优化提供依据。
在Linux系统运维和性能调优中,实时掌握CPU的负载情况是基本功。除了大家熟知的top或htop,sysstat工具包里的cpustat命令也是一个非常专业和直接的选择。它能清晰地展示CPU时间在各种状态下的分配,帮助您快速定位系统瓶颈。

第一步:安装sysstat工具包
cpustat命令并非系统默认安装,它包含在sysstat这个功能强大的系统性能监控工具包里。所以,我们得先把它请到系统里来。
如果你的系统是基于Debian或Ubuntu,打开终端,执行以下命令:
sudo apt-get update
sudo apt-get install sysstat
对于使用RHEL、CentOS或Fedora等基于RPM包管理的系统,安装命令则是:
sudo yum install sysstat
安装过程通常很快,完成后,cpustat就可以随时调用了。
第二步:查看整体CPU使用情况
安装妥当后,最基本的用法就是直接运行cpustat命令,不加任何参数:
cpustat
命令会输出类似下面的信息:
Linux 5.4.0-42-generic (hostname) 03/21/2021 _x86_64_(4 CPU)
a vg-cpu: %user %nice %system %iowait %steal %idle
12.34 0.00 1.23 0.01 0.00 86.42
这里每一列都代表CPU时间花费在哪个“场景”下:
- %user: 运行普通用户进程的时间占比。
- %nice: 运行被调整过优先级(nice值)的用户进程的时间占比。
- %system: 运行内核系统进程的时间占比。
- %iowait: CPU等待磁盘I/O完成的时间占比。这个值如果持续偏高,往往意味着磁盘可能是性能瓶颈。
- %steal: 在虚拟化环境中,被宿主机“偷走”给其他虚拟机使用的CPU时间占比。
- %idle: CPU空闲时间的占比。
一眼扫过去,你就能对系统CPU的整体“忙碌程度”和“在忙什么”有个清晰的概览。
第三步:深入查看特定CPU核心
现在的服务器多是多核甚至多CPU架构。有时候,整体负载看起来不高,但可能某个核心已经被打满,形成了单点瓶颈。cpustat的-p选项就是用来解决这个问题的。
比如,你想单独查看0号CPU核心的负载详情,可以这样操作:
cpustat -p 0
输出会精确显示该核心的状态:
Linux 5.4.0-42-generic (hostname) 03/21/2021 _x86_64_(4 CPU)
a vg-cpu: %user %nice %system %iowait %steal %idle
CPU 0: 12.34 0.00 1.23 0.01 0.00 86.42
这在诊断一些无法充分利用多核的应用程序性能问题时特别有用。
更多用法与帮助
当然,cpustat的能力不止于此。它支持多种选项来调整输出格式、刷新间隔和统计内容。想知道它全部的本领,最权威的方式就是查阅其手册页:
man cpustat
总之,通过以上几个步骤,你就能熟练使用cpustat这个工具来快速、准确地获取系统CPU的负载画像,为后续的性能分析和优化打下坚实的基础。


































