在 CentOS 上,cpustat 通常是 sysstat 工具包里的命令(也有人是用 psmisc 里的,但更常见的是 sysstat)。下面给你几种导出 cpustat 数据的常见方法,按使用场景来。
先确认你用的是哪个 cpustat:
which cpustat
rpm -qf $(which cpustat)
如果是:
sysstat → 实际是 mpstat / sar 的封装cpustat 本身(如 go-cpustat)→ 输出格式不同下面以 sysstat 系列 为主(CentOS 最常见)。
最简单方式:
cpustat > cpu_usage.txt
如果支持参数(如采样间隔和次数):
cpustat 1 5 > cpu_usage.txt
含义:
1:每 1 秒采样一次5:采样 5 次cpustat 本质很多是 mpstat 的别名或封装。
mpstat -P ALL 1 5 > cpu_mpstat.txt
输出示例:
Linux 3.10.0-1160.el7.x86_64 (node1) 2026/01/21 _x86_64_ (8 CPU)
14:00:01 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
sar -u 1 5 > cpu_sar.txt
sar -u -P ALL 1 5 > cpu_all.txt
sar -u -f /var/log/sa/sa21 > cpu_history.txt
CentOS 默认每天一个
/var/log/sa/saXX文件
mpstat -P ALL 1 5 | awk 'BEGIN{OFS=","} {print $0}' > cpu.csv
更规范一点(只导出数据行):
mpstat -P ALL 1 5 | grep -E "^[0-9]|^Average" > cpu.csv
nohup sar -u 1 > cpu_monitor.log &
停止:
pkill sar
例如:
cpustat -i 1 -n 5 > cpu.txt
或导出 JSON(如果支持):
cpustat -json > cpu.json
| 需求 | 推荐 |
|---|---|
| 实时查看 | mpstat -P ALL 1 |
| 导出分析 | sar -u -P ALL 1 10 |
| 历史数据 | sar -f /var/log/sa/saXX |
| 自动化 | cron + sar |
如果你愿意,我可以:
你可以把 cpustat --help 或 which cpustat 的输出贴出来,我可以更精确帮你。