在 CentOS(以及大多数 Linux) 上,cpustat 通常来自 sysstat 工具包,用来查看 CPU 使用情况。下面按“怎么看参数 → 常见用法 → 输出含义”给你一个实用说明。
which cpustat
如果没有,安装:
yum install -y sysstat
cpustat
或指定采样间隔和次数:
cpustat 1 5
表示:每 1 秒采样一次,共 5 次
Linux 3.10.0-1160.el7.x86_64 (centos7) 2026/01/21
# CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
all 12.34 0.00 3.21 0.45 0.00 0.12 0.00 0.00 83.88
0 10.21 0.00 2.88 0.33 0.00 0.10 0.00 0.00 86.48
1 14.56 0.00 3.55 0.57 0.00 0.15 0.00 0.00 81.17
| 字段 | 含义 | 说明 |
|---|---|---|
| %usr | 用户态 CPU | 普通用户进程占用 |
| %nice | 低优先级用户态 | nice 值 > 0 的进程 |
| %sys | 内核态 CPU | 系统调用、内核任务 |
| %iowait | IO 等待 | CPU 等待磁盘 IO(高说明磁盘慢) |
| %irq | 硬中断 | 硬件中断 |
| %soft | 软中断 | 网络、调度等 |
| %steal | 被虚拟化抢占 | 虚拟机中常见 |
| %guest | 虚拟机 CPU | 运行 guest OS |
| %idle | 空闲 CPU | 越高越空闲 |
✅ CPU 使用率 ≈ 100 - %idle
cpustat -c 0
mpstat -P ALL 1
mpstat 和 cpustat 类似,但更常用,输出更清晰。
%usr + %sys ≈ 90%+
→ 应用或内核消耗 CPU
%iowait > 20%
→ 磁盘慢 / IO 瓶颈
配合:
iostat -x 1
%steal > 10%
→ 云主机资源被抢占(宿主机超卖)
# 实时查看 CPU
cpustat 1
# 查看每个核心
mpstat -P ALL 1
# 查看进程级 CPU
top
# 或
htop
看 CPU 是否瓶颈,重点看
%idle、%usr、%sys、%iowait
如果你愿意,可以把你的 cpustat 输出贴出来,我可以帮你判断是 CPU / IO / 虚拟化问题。