温馨提示×

centos cpustat为啥没数据

小樊
47
2026-10-15 00:08:47
栏目: 智能运维

centos 上 cpustat 没数据,常见原因和排查方法如下:


一、cpustat 是什么

通常说的 cpustat 有两种可能:

  1. sysstat 包里的 mpstat / sar 类工具(最常见)
  2. perf-tools / bcc / bpftrace 里的 cpustat(基于 eBPF)

先确认你用的是哪一个:

which cpustat
rpm -qf $(which cpustat)

二、最常见原因(sysstat 相关)

1️⃣ sysstat 服务没开(数据没采集)

CentOS 默认 不会自动记录 CPU 历史数据

检查:

systemctl status sysstat

如果 inactive:

systemctl enable --now sysstat

等几分钟后再试:

sar -u

2️⃣ 刚装 sysstat,还没有历史数据

sar 是按天存文件的,刚装完是没有的

✅ 实时查看是可以的:

sar -u 1 3

3️⃣ 你用的是 cpustat 命令但没装对包

CentOS 默认 没有 cpustat 命令

试试:

yum install sysstat

或用:

mpstat 1

三、如果是 eBPF 版 cpustat(高级)

4️⃣ 内核不支持 eBPF

CentOS 7 老内核常见

检查:

uname -r

需要 4.x+(CentOS 8+ 更好)


5️⃣ 没 root 权限

sudo cpustat

6️⃣ 安全机制阻止

getenforce

如果是 Enforcing,可临时测试:

setenforce 0

四、快速自检清单 ✅

# 1. 是否安装
rpm -qa | grep sysstat

# 2. 实时是否有数据
mpstat 1 2

# 3. 历史是否有数据
ls /var/log/sa/

五、建议

  • 看实时 CPU:top / htop / mpstat
  • 看历史 CPU:sar -u
  • CentOS 7 用户:别依赖 cpustat,用 sar 更稳

如果你能贴一下:

  • CentOS 版本
  • 你执行的完整命令
  • 输出内容

我可以直接帮你定位是哪一类问题。

0 踩