温馨提示×

centos cpustat为啥没数

小樊
41
2026-09-21 11:52:49
栏目: 智能运维

在 CentOS 上执行 cpustat 看不到数据(没数),常见原因和排查方法如下:


一、cpustat 是什么

cpustat 通常来自 sysstat 包(命令是 mpstat / sar 那一套),也有第三方工具叫 cpustat(如 pcp 或 Go 写的版本)。
先确认你用的是哪个:

which cpustat
rpm -qf $(which cpustat)

二、最常见原因

1️⃣ sysstat 没装或没启动

如果是 sar/cpustat 来自 sysstat:

rpm -qa | grep sysstat

如果没装:

yum install sysstat

启动并开机:

systemctl enable sysstat
systemctl start sysstat

⚠️ sysstat 第一次安装后,需要等一个采样周期(默认 10 分钟)才有数据


2️⃣ 刚装完,数据文件还是空的

sysstat 数据在:

/var/log/sa/

如果目录是空的,说明还没采集:

ls -l /var/log/sa/

等几分钟再试:

sar -u

3️⃣ 你用的是第三方 cpustat(如 Go 版)

有些 cpustat 工具:

  • 需要 root
  • 需要 /proc 可读
  • 需要在有负载时才有明显数值

试试:

sudo cpustat

同时另开窗口跑压力:

stress -c 4

4️⃣ 容器 / 虚拟化环境限制

在:

  • Docker
  • LXC
  • 某些云主机

cpustat 可能看不到完整 CPU 统计,尤其:

  • /proc/stat 被限制
  • cgroup 限制 CPU

检查:

cat /proc/stat

5️⃣ 时间范围不对(sar 类)

如果你指定了时间:

sar -u -s 09:00:00 -e 10:00:00

但那段时间没数据,就会“没数”。


三、快速自检清单 ✅

whoami
which cpustat
rpm -qf $(which cpustat)
ls -l /var/log/sa/
cat /proc/stat | head

四、替代方案(更稳)

如果 cpustat 一直不灵,直接用:

top
htop
mpstat 1
sar -u 1 5

如果你愿意,把下面命令的输出贴出来,我可以直接帮你判断是哪种情况:

which cpustat
rpm -qf $(which cpustat)
ls -l /var/log/sa/

0 踩