温馨提示×

centos cpustat如何写脚本

小樊
39
2026-09-18 08:36:32
栏目: 智能运维

在 CentOS 里,cpustat 通常来自 sysstat 工具包(命令其实是 mpstat / sar 更常见,但有些系统会装 cpustat,如 pcpgoldwynl/cpustat)。下面我分 两种情况 给你示例脚本,你可以按实际环境选用。


一、如果使用的是 sysstat 的 mpstat(最常见)

1. 安装

yum install -y sysstat

2. 简单监控脚本(每 5 秒一次,记录到文件)

#!/bin/bash

INTERVAL=5
LOGFILE=/var/log/cpu_stat.log

echo "$(date) CPU monitoring start" >> $LOGFILE

while true; do
    mpstat $INTERVAL 1 >> $LOGFILE
    sleep $INTERVAL
done

赋予执行权限:

chmod +x cpu_monitor.sh

后台运行:

nohup ./cpu_monitor.sh &

二、如果你用的是 GitHub 上的 cpustat(C 工具)

1. 编译安装(示例)

git clone https://github.com/erikdubois/cpustat.git
cd cpustat
make
cp cpustat /usr/local/bin/

2. 示例脚本(采样 CPU 使用率)

#!/bin/bash

INTERVAL=2
COUNT=10
LOGFILE=/var/log/cpustat.log

echo "Time,CPU%,User,System,Idle" > $LOGFILE

for ((i=1; i<=COUNT; i++)); do
    DATE=$(date '+%Y-%m-%d %H:%M:%S')
    DATA=$(cpustat -n 1 | awk 'NR==2')
    echo "$DATE,$DATA" >> $LOGFILE
    sleep $INTERVAL
done

三、推荐:用 top / sar 写更通用脚本

使用 sar(CentOS 自带,最稳定)

#!/bin/bash

sar -u 2 5 >> /var/log/sar_cpu.log

四、常见注意点

  • cpustat 不是 CentOS 默认命令,先确认是否存在:
    which cpustat
    
  • 长时间监控建议用 systemdcron
  • 日志建议加日期切分

如果你能告诉我:

  • which cpustat 的输出
  • ✅ 想要 实时监控 / 写日志 / 告警

我可以直接帮你写一份可直接用的生产级脚本

0