在 CentOS 上使用 cpustat 查看 CPU 性能,一般有几种常见方式,下面按“由浅入深”给你说明。
cpustat 通常来自 sysstat 工具包,用来查看 CPU 使用率、上下文切换、中断、运行队列 等性能指标,适合做性能分析。
yum install -y sysstat
安装完成后确认:
which cpustat
cpustat
输出示例含义:
cpustat 2
或者:
cpustat 2 5
✅ 每 2 秒一次,共 5 次
cpustat -c
或:
mpstat -P ALL 2
(更常用,mpstat 和 cpustat 同源)
pidstat -u 2
查看某个进程 CPU:
pidstat -u -p <PID> 2
vmstat 2
关注:
r:运行队列(> CPU 核数就危险)us + sy:接近 100% 表示 CPU 高负载mpstat -I SUM 2
cpustat 2
如果 cswch/s 非常高,可能是:
| 现象 | 可能原因 |
|---|---|
| %usr 很高 | 应用 CPU 计算多 |
| %sys 很高 | 系统调用多 / IO |
| %idle 很低 | CPU 打满 |
| runq-sz 持续 > CPU 核数 | CPU 不够 |
| cswch/s 很高 | 线程切换频繁 |
top # 看整体
mpstat -P ALL 2
vmstat 2
pidstat -u 2
如果你愿意,可以把 cpustat 输出贴出来,我可以帮你直接分析当前 CPU 是否有性能瓶颈。