温馨提示×

centos cpustat如何解读

小樊
43
2026-07-09 04:30:28
栏目: 智能运维

CentOS(以及大多数 Linux 发行版)中,cpustat 通常是 sysstat 工具包中的一个命令,用于查看 CPU 使用情况统计。下面从 如何安装、字段含义、常见示例、如何解读 几个方面说明。


一、cpustat 是什么?

cpustat 用于显示 CPU 利用率统计信息,类似 iostatmpstat,但更偏向 CPU 维度

一般来自:

sysstat

安装

yum install -y sysstat

二、基本用法

cpustat

常见用法:

cpustat 1        # 每 1 秒刷新一次
cpustat 1 5      # 每 1 秒刷新一次,共 5 次

三、输出字段详解(重点)

典型输出示例:

  CPU  %usr  %nice  %sys  %iowait  %irq  %soft  %steal  %guest  %idle
  all  12.3   0.0   3.2     1.5    0.0    0.1     0.0     0.0   82.9
    0  10.1   0.0   2.8     2.0    0.0    0.2     0.0     0.0   84.9
    1  14.5   0.0   3.6     1.0    0.0    0.0     0.0     0.0   80.9

各字段含义

字段 含义
CPU CPU 编号,all 表示平均值
%usr 用户态 CPU 使用率(应用程序)
%nice 低优先级(nice)用户进程
%sys 内核态 CPU 使用率
%iowait 等待 I/O(磁盘)的 CPU 时间
%irq 硬件中断
%soft 软件中断
%steal 被虚拟化层“偷走”的 CPU(云服务器常见)
%guest 运行虚拟机占用的 CPU
%idle CPU 空闲百分比

四、如何解读 CPU 状态(实战)

1️⃣ CPU 是否繁忙?

  • %idle 很低(< 10%) → CPU 很忙
  • %usr + %sys 很高 → 正常业务负载

✅ 示例(正常高负载):

%usr 70%
%sys 20%
%idle 10%

2️⃣ 是否 I/O 瓶颈?

  • %iowait 长期 > 20% → 可能存在磁盘瓶颈

⚠️ 示例(I/O 问题):

%iowait 30%
%idle 40%

3️⃣ 是否中断过多?

  • %irq + %soft 很高 → 网络/磁盘中断过多

常见于:

  • 高网络流量
  • 高磁盘吞吐

4️⃣ 是否是虚拟机资源被抢占?

  • %steal 持续 > 5% → 宿主机资源不足(云服务器常见问题)

5️⃣ 单个 CPU 不均衡?

cpustat 1

对比各 CPU 使用率,若:

  • 某 CPU 使用率远高于其他 → 可能是单线程应用或中断绑定问题

五、结合其他命令分析

查看哪个进程占 CPU

top
htop
pidstat 1

查看中断分布

cat /proc/interrupts

查看负载

uptime

六、常见场景总结

现象 解读
%usr 高 应用程序消耗 CPU
%sys 高 内核 / 系统调用频繁
%iowait 高 磁盘慢 / I/O 阻塞
%steal 高 云主机资源不足
idle 高但系统慢 可能 I/O、锁、网络问题

七、示例解读

all  5.0  0.0  2.0  40.0  0.0  0.0  0.0  0.0  53.0

解读:

  • CPU 并不空闲
  • 40% 在等 I/O
  • 很可能是 磁盘读写瓶颈

如果你愿意,可以把你实际的 cpustat 输出贴出来,我可以帮你 逐项分析并给出优化建议

0