温馨提示×

cpustat能看哪些数据

小樊
43
2026-10-15 07:32:51
栏目: 编程语言

cpustat 并不是一个在所有 Linux 发行版里都默认存在的标准命令,它通常指 两种不同场景 的工具。下面分开说明你能“看到哪些数据”。


一、Intel 提供的 cpustat(Intel Performance Counter Monitor 工具)

常见于:

cpustat

或

pcm || cpustat

能看到的数据

1. CPU 总体利用率

  • 用户态 / 内核态 / 空闲
  • 整体 CPU 使用率

2. 每个 CPU 核心信息

  • 每核使用率
  • 频率(实际运行频率)
  • C-State(休眠状态)

3. 性能计数器(重点)

  • IPC(每周期指令数)
  • CPI(每指令周期数)
  • L2 / L3 Cache 命中率与缺失率
  • 分支预测命中率
  • 内存带宽(读 / 写)
  • 前端瓶颈、后端停滞

4. 能耗与温度(取决于硬件)

  • 每 CPU 功耗
  • 温度(部分平台)

✅ 适合:性能分析、瓶颈定位、调优


二、某些发行版中的 cpustat(如 Debian/Ubuntu 包)

通常是 对 /proc/stat 的封装

能看到的数据

  • 用户态 CPU 时间
  • 系统态 CPU 时间
  • 空闲时间
  • I/O 等待
  • 中断时间
  • 软中断
  • 每核统计
  • 一定时间内的 CPU 使用率变化

❌ 一般 没有:

  • 缓存命中率
  • IPC
  • 内存带宽
  • 高级性能计数器

三、常见对比

工具 数据深度 是否需 root 是否需硬件支持
cpustat (Intel PCM) 很深 是 Intel CPU
cpustat (proc 封装) 浅 否 否
top / htop 中 否 否
perf 很深 是 是

四、你可以用什么替代

  • top / htop:基础 CPU 使用
  • mpstat -P ALL 1:每核统计
  • perf stat:指令、缓存、分支
  • sar:历史 CPU 数据

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

  • 你用的是 哪个系统
  • 是 哪个 cpustat
  • 想解决什么问题(卡顿 / 性能 / 调优)

我可以给你更精确的使用示例。

0 踩