Debian cpustat如何使用

2026-07-07编程开发264010

cpustatsysstat 工具包中的一个实用程序,用于按进程展示 CPU 使用率,和 top / htop 类似,但更偏向统计和排查 CPU 热点。下面按常见用法说明。


一、安装 cpustat(Debian / Ubuntu)

sudo apt update
sudo apt install sysstat

安装完成后,cpustat 通常位于:

/usr/bin/cpustat

如果找不到,可尝试:

dpkg -L sysstat | grep cpustat

二、基本用法

1️⃣ 查看当前 CPU 使用情况(按进程)

sudo cpustat

示例输出(简化):

  PID   %USR %SYS %CPU COMMAND
 1234   10.2  2.1 12.3 java
 5678    5.1  1.0  6.1 mysqld

含义:

  • %USR:用户态 CPU
  • %SYS:内核态 CPU
  • %CPU:总 CPU 使用率
  • COMMAND:进程名

2️⃣ 指定刷新间隔(秒)

sudo cpustat 2

2 秒刷新一次。


3️⃣ 限制显示进程数量

sudo cpustat -n 10

只显示 CPU 使用最多的前 10 个进程


4️⃣ 显示所有 CPU(多核)

sudo cpustat -c
  • 显示 每个 CPU 核心 的使用情况

5️⃣ 显示线程(而非进程)

sudo cpustat -t

适合排查 多线程程序(如 Java、数据库)。


6️⃣ 显示累计 CPU 使用时间

sudo cpustat -C

显示自系统启动以来的累计 CPU 时间。


三、常用组合示例

✅ 实时查看最耗 CPU 的进程(推荐)

sudo cpustat 1 -n 15
  • 每秒刷新
  • 显示前 15 个进程

✅ 排查 Java / Python 程序 CPU 飙高

sudo cpustat -t 1

结合线程 ID(TID)定位问题线程。


✅ 输出到文件(分析用)

sudo cpustat 1 10 > cpustat.log

记录 10 次采样(每秒一次)。


四、常见参数速查表

参数 说明
-n N 显示前 N 个进程
-t 显示线程
-c 显示每个 CPU
-C 累计 CPU 时间
-p PID 指定进程
interval 刷新间隔(秒)

五、cpustat vs top / htop

工具 适合场景
top 交互式实时查看
htop 更友好的交互
cpustat 快速统计、脚本、排查 CPU 热点

六、常见问题

❓ 为什么需要 sudo?

因为 cpustat 需要读取 /proc 中的进程信息,普通用户可能受限。


❓ Debian 没有 cpustat?

确认是否安装的是完整版 sysstat

apt show sysstat

如果你愿意,可以告诉我:

  • 你是 排查 CPU 飙高 还是 做性能统计
  • 服务器 / 容器 / 桌面

我可以给你更针对性的用法示例。

《Debian cpustat如何使用.doc》

下载本文的Word格式文档,以方便收藏与打印。