在 CentOS 中排查故障,cpustat 通常不是系统默认自带工具,常见有两种情况:
mpstat / sar(很多人把 CPU 统计工具统称为 cpustat)cpustat(如 cpustat by petermslater)下面以最常用的排查思路给你一个实用指南,适用于 CentOS 7/8。
which cpustat
cpustat --help
如果没有:
yum install sysstat -y
然后用:
mpstat -P ALL 1
sar -u 1 5
mpstat 1
重点关注:
%usr 高 → 用户态程序(应用、Java、Python)%sys 高 → 内核、驱动、IO%iowait 高 → 磁盘瓶颈%soft 高 → 软中断(网卡、锁)%steal 高 → 虚拟机被宿主机抢资源mpstat -P ALL 1
如果:
top
# 按 P 按 CPU 排序
或:
htop
pidstat -u 1
pidstat -u -p <PID> 1
看:
mpstat -P ALL 1
pidstat 1
可能原因:
mpstat 1
iostat -x 1
重点:
%iowait > 20% 就有问题await / util 高 → 磁盘慢mpstat 1
cat /proc/softirqs
常见于:
mpstat 1
%steal 高 → 宿主机超卖,找云厂商
perf top
perf record -a 30
perf report
适合:
mpstat -P ALL 1
pidstat -u 1
top
iostat -x 1
perf top
请告诉我:
cpustat 输出示例我可以直接帮你对着输出分析。