cpustat 通常是 Linux 下查看 CPU 使用情况的工具(如 sysstat 包里的 mpstat/sar,或某些发行版自带的 cpustat)。下面我按常见 cpustat 输出给你讲怎么读。
06:30:01 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
06:30:01 all 12.3 0.0 5.1 1.2 0.0 0.3 0.0 0.0 0.0 81.1
06:30:01 0 20.1 0.0 8.4 2.0 0.0 0.5 0.0 0.0 0.0 68.0
06:30:01 1 10.2 0.0 4.0 0.5 0.0 0.2 0.0 0.0 0.0 85.1
06:30:01
采样时间点(如果是间隔采样,就是每一行一个时间点)
CPU
all → 所有 CPU 平均
0,1 → 具体某个 CPU 核心
| 字段 | 含义 |
|---|---|
%usr |
用户态 CPU 时间(应用程序) |
%nice |
低优先级用户进程 |
%sys |
内核态 CPU 时间 |
%iowait |
CPU 等待 IO 的时间 |
%irq |
硬中断 |
%soft |
软中断 |
%steal |
被虚拟机偷走的 CPU(云服务器重要) |
%guest |
运行虚拟机占用的 CPU |
%gnice |
虚拟机低优先级 |
%idle |
空闲 CPU |
✅ 核心公式:
%usr + %sys + %iowait + %idle ≈ 100%
%idle 高(>70%)%iowait 低(<5%)%usr 或 %sys 很高%idle 很低%iowait 明显升高(>10%)%steal 高 → 宿主机抢资源# 每 2 秒采样一次,共 5 次
cpustat 2 5
# 只看某个 CPU
mpstat -P 0 1
# 查看历史(sysstat)
sar -u 1 3
all%usr(应用)还是 %sys(内核)iowait 判断是不是磁盘问题如果你贴一段你自己的 cpustat 输出,我可以直接帮你“翻译”成结论(比如:CPU 忙不忙、是不是 IO 问题)。