温馨提示×

centos cpustat怎么查性能

小樊
31
2026-08-30 14:27:12
栏目: 智能运维

CentOS 上使用 cpustat 查看 CPU 性能,一般有几种常见方式,下面按“由浅入深”给你说明。


一、cpustat 是什么?

cpustat 通常来自 sysstat 工具包,用来查看 CPU 使用率、上下文切换、中断、运行队列 等性能指标,适合做性能分析。


二、安装 cpustat(如果没有)

CentOS 7 / 8

yum install -y sysstat

安装完成后确认:

which cpustat

三、常用 cpustat 命令示例

1️⃣ 查看 CPU 整体性能(最常用)

cpustat

输出示例含义:

  • %usr:用户态 CPU
  • %sys:内核态 CPU
  • %idle:空闲
  • runq-sz:运行队列长度(高说明 CPU 不够用)
  • %irq / %soft:中断和软中断
  • cswch/s:上下文切换次数

2️⃣ 每 2 秒刷新一次,持续查看

cpustat 2

或者:

cpustat 2 5

✅ 每 2 秒一次,共 5 次


3️⃣ 查看每个 CPU 核心

cpustat -c

或:

mpstat -P ALL 2

(更常用,mpstat 和 cpustat 同源)


4️⃣ 查看 CPU + 进程级别(高级)

pidstat -u 2

查看某个进程 CPU:

pidstat -u -p <PID> 2

四、结合性能分析常用组合

✅ 看 CPU 是否瓶颈

vmstat 2

关注:

  • r:运行队列(> CPU 核数就危险)
  • us + sy:接近 100% 表示 CPU 高负载

✅ 看中断是否过高

mpstat -I SUM 2

✅ 看上下文切换是否异常

cpustat 2

如果 cswch/s 非常高,可能是:

  • 线程过多
  • CPU 争抢
  • 锁竞争

五、常见性能问题判断

现象 可能原因
%usr 很高 应用 CPU 计算多
%sys 很高 系统调用多 / IO
%idle 很低 CPU 打满
runq-sz 持续 > CPU 核数 CPU 不够
cswch/s 很高 线程切换频繁

六、快速自查建议

top      # 看整体
mpstat -P ALL 2
vmstat 2
pidstat -u 2

如果你愿意,可以把 cpustat 输出贴出来,我可以帮你直接分析当前 CPU 是否有性能瓶颈。

0