在 CentOS(及其他 Linux 发行版)里,cpustat 通常不是系统默认自带的命令,它一般来自 sysstat 工具包,或者指 psutil / perf 类工具 中的 CPU 统计。下面按“怎么读(看懂输出)”来说明。
常见两种情况:
mpstat / sar 系列(sysstat 包)yum install sysstat
mpstat 1
或者
sar -u 1
cpustat(如 pip install cpustat)cpustat 1
mpstat 输出为例(最常用)Linux 3.10.0-1160.el7.x86_64 (centos) 2026年01月21日 _x86_64_ (4 CPU)
14:00:01 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
14:00:02 all 12.34 0.00 5.67 0.12 0.00 0.25 0.00 0.00 0.00 81.62
14:00:02 0 15.00 0.00 6.00 0.00 0.00 0.00 0.00 0.00 0.00 79.00
| 字段 | 含义 |
|---|---|
| CPU | all = 总览;数字 = 单个核 |
| %usr | 用户态 CPU 使用率(应用程序) |
| %nice | 低优先级用户进程 |
| %sys | 内核态 CPU 使用率 |
| %iowait | 等 IO(磁盘/网络)的时间 |
| %irq | 硬中断 |
| %soft | 软中断 |
| %steal | 被虚拟机偷走的 CPU(云服务器常见) |
| %guest | 运行虚拟机的 CPU |
| %idle | 空闲 CPU |
✅ 看 CPU 是否忙:
%idle 低(如 < 20%)→ CPU 压力大%iowait 高 → 可能不是 CPU 问题,是磁盘慢%steal 高 → 云主机被邻居抢资源cpustat(Python 工具)示例输出:
%User %Sys %Idle CPU
15.2 6.3 78.5 all
20.1 5.0 74.9 0
含义和上面类似,只是字段更少。
# 实时看 CPU
mpstat -P ALL 1
# 看哪个进程吃 CPU
top
# 或
htop
# 历史 CPU(sysstat 已开启)
sar -u -f /var/log/sa/sa21
如果你愿意,可以把你实际的 cpustat 输出贴出来,我可以直接帮你“逐行翻译”。