在 CentOS 中,cpustat 通常指两种东西之一:
mpstat / sar(最常见)cpustat(如 github.com/uber/cpustat)下面分别说明如何“分析”。
yum install sysstat -y
mpstat 1
示例输出:
Linux 3.10.0 x86_64 10/10/2024 _x86_64_ (8 CPU)
13:00:01 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
13:00:02 all 12.3 0.0 5.1 0.2 0.0 0.1 0.0 0.0 82.3
关键字段含义:
%usr:用户态 CPU%sys:内核态 CPU%iowait:等待 IO(磁盘/网络)%idle:空闲%steal:虚拟机被宿主机偷走的时间%usr 高 → 应用计算密集%sys 高 → 内核/系统调用多%iowait 高 → 磁盘瓶颈%idle 很低 → CPU 饱和%steal 高 → 云主机资源争抢sar -u 1 3
sar -u -f /var/log/sa/sa10
go install github.com/uber/cpustat@latest
cpustat 1
示例:
time util user sys ctxsw migr runq blk
13:01 45.2 30.1 15.1 120k 2k 1.2 0
cpustat -p 1
可看到:
mpstat 1
%iowait 高 → iostat%sys 高 → perf toptop
cpustat -p 1
找占用最高的进程 → strace / perf
mpstat 1
%steal > 10% → 换机型或宿主机
cpustat / mpstat 看“CPU 花在哪”,top 看“谁在用”,sar 看“历史趋势”。
如果你有具体输出或场景(比如 CPU 100%、IO 高、容器环境),我可以直接帮你分析。