在 CentOS 上排查 CPU 问题,cpustat 通常不是系统默认命令,常见有 两种理解,我分开说明,并给你一套实用排查流程。
cpustat 是哪种mpstat / sar(最常见)CentOS 默认 没有 cpustat,但很多人把 mpstat 或 sar 当成 cpustat。
# 安装 sysstat
yum install -y sysstat
# 查看各 CPU 使用情况
mpstat -P ALL 1
输出示例:
%usr %nice %sys %iowait %irq %soft %steal %guest %idle
✅ 常用于:
这是真正的 cpustat:
git clone https://github.com/brendangregg/perf-tools.git
cd perf-tools
./cpustat
✅ 适合:
top
关注:
mpstat -P ALL 1
重点看:
top -H -p <pid>
或
pidstat -u 1
sar -u 1 5
用 perf:
yum install -y perf
perf top
✅ 能看到:
| 现象 | 可能原因 |
|---|---|
| %us 高 | 应用计算密集 |
| %sy 高 | 系统调用多 / 锁 |
| %wa 高 | 磁盘慢 / IO 瓶颈 |
| %si 高 | 网卡中断 |
| %st 高 | 云主机超卖 |
| 单核 100% | 程序单线程 |
sar -u 1
mpstat -P ALL 1
pidstat -u 1
你可以直接贴:
top / mpstat 输出我可以帮你 精确定位是哪类 CPU 问题。