在 Ubuntu 上排查 CPU 使用情况和性能问题,cpustat 是一个很有用的工具(来自 sysstat 包或单独工具)。下面按排查思路 + 常用命令 + 实战示例给你整理一份指南。
cpustat 用于按 CPU 或整体显示 CPU 使用情况,比 top 更偏向统计和百分比,适合定位:
sudo apt update
sudo apt install cpustat
(有些系统来自 sysstat 或 linux-tools)
cpustat
cpustat 1 5
每 1 秒一次,共 5 次
示例输出:
CPU usr sys idle iowait irq softirq
all 35 20 40 5 0 0
| 字段 | 含义 | 排查意义 |
|---|---|---|
| usr | 用户态 CPU | 高 → 应用消耗 |
| sys | 内核态 CPU | 高 → 系统调用/驱动 |
| idle | 空闲 | 低 → CPU 瓶颈 |
| iowait | IO 等待 | 高 → 磁盘/网络慢 |
| irq/softirq | 中断 | 高 → 网卡/设备 |
cpustat 1
top -c
或
htop
cpustat
如果 iowait > 10%:
iostat -x 1
看:
%utilawait可能是:
cpustat -c
或看每个 CPU:
mpstat -P ALL 1
常见于:
可能原因:
配合:
perf top
或
vmstat 1
| 工具 | 用途 |
|---|---|
| top / htop | 看进程 |
| mpstat | 每核 CPU |
| iostat | IO |
| vmstat | 内存/CPU/IO |
| perf | 深度分析 |
cpustat 1 → 看 CPU 类型iostattopperfmpstat -P ALL如果你愿意,可以把你的 cpustat 输出贴出来,我可以直接帮你判断是哪种瓶颈。