在 Debian 系统上,cpustat 通常指 sysstat 包里的 mpstat / sar,也可能是指 perf-tools 里的 cpustat,或者用户自己装的 cpustat 工具。下面按最常见排查场景给你一个实用指南。
which cpustat
cpustat --help
常见情况:
/usr/bin/cpustat → sysstat / perf 类工具mpstat → 用 mpstatsudo apt update
sudo apt install sysstat
启用数据收集:
sudo systemctl enable sysstat
sudo systemctl start sysstat
mpstat 1
或:
cpustat 1
关注字段:
%usr:用户态%sys:内核态%iowait:IO 等待(高说明磁盘慢)%irq / %soft:中断%steal:虚拟机被宿主机抢占%idle:空闲✅ 排查结论示例
%usr 高 → 应用 CPU 密集型%sys 高 → 系统调用 / 驱动问题%iowait 高 → 磁盘瓶颈%steal 高 → 云主机资源被抢mpstat -P ALL 1
用于发现:
top
# 或
htop
按 P 按 CPU 排序
top -H -p <PID>
或:
ps -eo pid,tid,ppid,comm,%cpu --sort=-%cpu | head
sar -u
sar -u 1 3
ls /var/log/sysstat/
sar -u -f /var/log/sysstat/saXX
cat /proc/interrupts
cat /proc/softirqs
网络高负载时常见
pidstat -w 1
| 现象 | 可能原因 |
|---|---|
| %usr 高 | 应用计算密集 |
| %sys 高 | 内核 / 驱动 / 锁 |
| %iowait 高 | 磁盘慢 |
| %soft 高 | 网络中断 |
| %steal 高 | 云主机超卖 |
| 单核 100% | 线程未并行 |
你可以补充:
cat /etc/os-release)cpustat 输出截图或文本我可以直接帮你分析是哪一类的 CPU 问题。