温馨提示×

ubuntu cpustat能测什么

小樊
48
2026-09-25 04:16:40
栏目: 智能运维

在 Ubuntu 中,cpustat 通常是指 sysstat 工具包里的 mpstat / sar 相关工具,或者是指 cpustat(由 Colin Ian King 开发的工具,包名通常也叫 cpustat)。下面分别说明它们能“测什么”。


一、Ubuntu 官方仓库中的 cpustat(推荐说明)

包名:cpustat
安装:

sudo apt install cpustat

它能测什么?

cpustat 主要用于按进程/线程统计 CPU 使用情况,比 top 更底层、更精确。

主要功能包括:

1. 每个进程的 CPU 使用率

  • 用户态 CPU(%user)
  • 内核态 CPU(%system)
  • 总 CPU 占用

2. CPU 时间分布

  • 所有进程的总 CPU 时间
  • 每个 CPU 核心的负载情况

3. 系统级 CPU 统计

  • 空闲 CPU
  • I/O 等待
  • 中断处理时间
  • 软中断时间

4. 进程级细节

  • PID / 进程名
  • 线程数
  • 调度延迟
  • CPU 时间消耗排名(类似 top,但更精确)

示例

sudo cpustat 1 5

每 1 秒采样一次,共 5 次。

输出示例信息:

  • 每个 CPU 核心使用率
  • 占用 CPU 最高的进程
  • 用户 / 系统 / 空闲时间比例

二、sysstat 中的相关工具(容易混淆)

如果你指的是 mpstat 或 sar:

mpstat(最常用)

mpstat -P ALL 1

测:

  • 每个 CPU 核心使用率
  • 用户 / 系统 / IO等待 / 空闲
  • 中断和软中断

sar

sar -u 1 3

测:

  • 历史 CPU 使用情况
  • 系统整体负载趋势

三、cpustat 适合什么场景?

✅ 适合:

  • 排查 CPU 占用高的进程
  • 分析用户态 vs 内核态开销
  • 多核 CPU 负载均衡问题
  • 性能调优、瓶颈分析

❌ 不适合:

  • 内存分析(用 free / vmstat)
  • 磁盘 IO(用 iostat)
  • 网络(用 iftop / sar -n)

总结一句话

Ubuntu 的 cpustat 可以精确测量“谁、在哪个 CPU、用了多少 CPU 时间”,是分析 CPU 性能瓶颈的利器。

如果你愿意,我可以给你一个实战排查 CPU 100% 的例子。

0 踩