温馨提示×

centos cpustat怎么解读

小樊
35
2026-08-04 10:17:57
栏目: 智能运维

cpustatsysstat 工具包里的一个常用命令,用来查看 CPU 使用率统计。在 CentOS(以及 RHEL、Rocky、Alma 等)上,它来自 sysstat 包。

下面从 安装 → 基本用法 → 输出字段解读 → 常见示例 给你系统讲一遍。


一、安装 cpustat

yum install -y sysstat

确认版本:

cpustat -V

二、最简单的用法

cpustat

输出示例:

Linux 3.10.0-1160.el7.x86_64 (centos7)   2026/01/21   _x86_64_  (4 CPU)

10:10:01  CPU    %usr   %nice    %sys   %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
10:10:01  all    12.34    0.00    5.67     1.23    0.00    0.45    0.00    0.00    0.00   80.31
10:10:01    0    15.21    0.00    6.12     0.98    0.00    0.50    0.00    0.00    0.00   77.19
10:10:01    1    10.45    0.00    5.23     1.45    0.00    0.40    0.00    0.00    0.00   82.47

三、字段详细解读(重点)

1️⃣ 时间 & CPU 信息

字段 含义
时间 采样时间点
CPU all 表示所有 CPU 平均值,0、1… 表示单个 CPU

2️⃣ CPU 使用率字段(重点)

字段 含义 说明
%usr 用户态 CPU 普通用户进程占用
%nice 低优先级用户态 nice 值 > 0 的进程
%sys 内核态 CPU 系统调用、内核任务
%iowait IO 等待 CPU 空闲但等磁盘 IO
%irq 硬中断 硬件中断处理
%soft 软中断 网络、调度等
%steal 被虚拟化抢占 虚拟机常见
%guest 虚拟机 CPU 运行 guest OS
%gnice 低优先级 guest 很少见
%idle 空闲 CPU CPU 完全空闲

加起来 ≈ 100%


四、关键指标怎么看(实战)

✅ 1. CPU 到底忙不忙?

%idle

%idle < 20%   → CPU 很忙
%idle > 80%   → CPU 基本空闲

✅ 2. 是用户程序还是系统问题?

情况 说明
%usr 很高 用户程序(Java / Python / C++)
%sys 很高 系统调用多、内核问题
%iowait 很高 磁盘慢、IO 瓶颈
%soft 很高 网络中断、网卡问题

✅ 3. iowait 高 ≠ CPU 忙

⚠️ iowait 高表示 CPU 在等 IO,不是 CPU 本身忙

常见原因:

  • 磁盘慢
  • 数据库大量读写
  • NFS / 云盘性能差

✅ 4. steal 高(云服务器)

%steal > 5% → 宿主机资源争抢

常见于:

  • 云服务器超卖
  • 共享型实例

五、常用参数示例

1️⃣ 每 2 秒刷新一次

cpustat 2

2️⃣ 显示 5 次

cpustat 2 5

3️⃣ 只看某个 CPU

cpustat -c 0

4️⃣ 显示中断信息

cpustat -I

六、和 top / vmstat 的区别

工具 适合
top 实时看进程
vmstat 系统整体性能
cpustat 专注 CPU 使用率

七、快速判断模板(记住这个)

idle 高 → CPU 没问题
usr 高 → 应用问题
sys 高 → 内核 / 系统调用
iowait 高 → 磁盘 / IO
steal 高 → 虚拟机问题

如果你愿意,可以把你 实际的 cpustat 输出贴出来,我可以帮你具体分析是哪块瓶颈。

0