温馨提示×

debian cpustat怎分析

小樊
48
2026-10-07 12:58:11
栏目: 智能运维

在 Debian 系统里,cpustat 通常指两种东西之一,需要先区分清楚:

  1. /proc/stat 或 cpuinfo 相关统计(系统自带)
  2. sysstat 包里的 mpstat / sar
  3. 第三方工具 cpustat(如 cpustat by Colin Ian King)

下面分别说明怎么“分析”。


一、如果是 cpustat(Colin King 的工具)

安装

sudo apt update
sudo apt install cpustat

基本用法

sudo cpustat

默认每 1 秒刷新一次,显示:

  • 每个 CPU 的使用率
  • 用户态 / 系统态 / IO 等待 / 空闲
  • 进程级 CPU 占用

分析重点

  • %user 高:用户程序消耗 CPU
  • %sys 高:内核 / 驱动繁忙
  • %wait 高:IO 瓶颈(磁盘 / 网络)
  • %idle 低 + wait 高:典型 IO 问题
  • 进程列表中看哪个 PID 占 CPU

示例:

sudo cpustat -T 5

每 5 秒采样一次,适合排查短时峰值。


二、如果是 mpstat(最常用)

安装

sudo apt install sysstat

查看所有 CPU

mpstat -P ALL 1

输出示例:

CPU  %usr  %sys  %iowait  %idle
0    20    10     5        65
1    80    15     0        5

分析方法

  • 单核 %idle 接近 0:该核瓶颈
  • %iowait 高:磁盘慢
  • %sys 高:系统调用多(如网络、锁)

三、如果是 /proc/stat

cat /proc/stat

字段含义(第一列 cpu):

user nice system idle iowait irq softirq steal guest

可用于:

  • 自己算 CPU 使用率
  • 写监控脚本

四、常见分析思路(实用)

1. CPU 很高但系统卡

mpstat -P ALL 1

看是不是:

  • 单核跑满(进程绑定)
  • iowait 高(磁盘问题)

2. 找出吃 CPU 的进程

top
# 或
htop
# 或
sudo cpustat

3. 长时间统计

sar -u 1 10

五、你可以告诉我

  • 你是 想装 cpustat 还是已经在用了
  • 还是看到某个 具体输出不知道怎么看
  • 或是 服务器卡,想定位原因

我可以直接帮你“读图 / 读输出”。

0 踩