在 CentOS 上,cpustat 本身不保存历史数据,它只能实时查看当前或指定间隔的 CPU 使用情况。如果你想“看历史”,一般有以下几种常用做法,从简单到专业递增:
mpstat / sar(推荐 ✅)yum install -y sysstat
sysstat 默认会每天记录系统性能数据。
查看某一天的 CPU 历史:
sar -u -f /var/log/sa/saXX
例如查看 28 号:
sar -u -f /var/log/sa/sa28
输出示例:
10:00:01 AM CPU %user %nice %system %iowait %steal %idle
10:10:01 AM all 2.10 0.00 1.20 0.30 0.00 96.40
sar -u -s 09:00:00 -e 12:00:00 -f /var/log/sa/sa28
pidstat 或 mpstatmpstat -P ALL 1
pidstat -u -p ALL 1
⚠️ 这些也是实时,不是历史。
top / htop 的替代方案(不推荐做历史)top
只能看当前,无法回溯历史。
sar -u -f /var/log/sa/sa27
sar -q -f /var/log/sa/sa27
systemctl status sysstat
没开的话,历史数据是没有的。
CentOS 上想看 CPU 历史,用
sar -u -f /var/log/sa/saXX,不是cpustat。
如果你愿意,可以告诉我:
我可以帮你一步步定位是哪颗 CPU、哪个进程、哪个时间点出的问题。