温馨提示×

Debian cpustat输出看不懂

小樊
36
2026-07-29 15:06:48
栏目: 智能运维

cpustatsysstat 工具包里的一个小工具,用来按 CPU 核显示 CPU 使用情况。如果看不懂,一般是列名和数值含义不清楚。下面我用通俗 + 对照的方式给你讲一遍。


一、先确认你用的是哪个 cpustat

Debian 上常见有两种:

✅ 1. sysstat 里的 cpustat(最常见)

cpustat

输出类似:

Linux 6.1.0-amd64 (debian)   2026年01-21

CPU  %usr  %nice  %sys  %iowait  %irq  %soft  %steal  %guest  %gnice  %idle
all  12.3   0.0   5.1     1.2    0.0    0.3     0.0     0.0     0.0   81.1
  0  10.5   0.0   4.8     2.0    0.0    0.2     0.0     0.0     0.0   82.5
  1  14.1   0.0   5.5     0.5    0.0    0.4     0.0     0.0     0.0   79.5

二、每一列到底是什么意思(重点)

所有值都是百分比(%)

列名 含义(人话)
%usr 用户态程序占用 CPU(你跑的程序)
%nice 低优先级用户程序(nice 调过的)
%sys 内核态(系统调用、驱动等)
%iowait 等磁盘 IO,CPU 其实在摸鱼
%irq 硬中断(硬件)
%soft 软中断(网络、内核)
%steal 虚拟机里被宿主机“偷走”的 CPU
%guest 虚拟机 CPU
%idle 完全空闲

top / htop 的列几乎一样


三、怎么看 CPU 忙不忙?

✅ 看 %idle

%idle 越低 → CPU 越忙
  • %idle > 70%:很闲
  • %idle < 20%:比较忙
  • %idle ≈ 0:CPU 打满

✅ 看 %iowait

%iowait 高 ≠ CPU 忙

而是:

CPU 在等磁盘,不是真的在干活

常见于:

  • 大量读写磁盘
  • 数据库
  • 慢硬盘

✅ 看 %usr + %sys

  • %usr 高:应用本身吃 CPU
  • %sys 高:系统调用多(网络、IO、锁)

四、常见输出示例解读

示例 1:CPU 很闲

%usr 5.0  %sys 2.0  %idle 93.0

✅ 系统很轻松


示例 2:IO 问题

%usr 3.0  %iowait 40.0  %idle 57.0

✅ CPU 在等磁盘
❌ 不是 CPU 慢,是磁盘慢


示例 3:CPU 被打满

%usr 85.0  %sys 10.0  %idle 5.0

✅ 程序吃满 CPU


五、常用参数(很有用)

1️⃣ 每 2 秒刷新一次

cpustat 2

2️⃣ 刷新 5 次

cpustat 2 5

3️⃣ 只看汇总(不看每个核)

cpustat | head -2

六、如果你用的是另一种 cpustat(少见)

有些系统里 cpustat 来自 pcp(Performance Co-Pilot),输出会不一样。

你可以确认一下:

which cpustat
cpustat --help

七、一句话总结

cpustat = 每个 CPU 核的 % 使用率统计表

看不懂时,只盯三列:

%usr   %iowait   %idle

如果你愿意,可以把你的真实输出贴出来(一行就行),我可以直接帮你“翻译”成一句人话 ✅

0