CentOS系统中cpustat工具的日志记录说明
cpustat是CentOS系统(通过sysstat包提供)用于监控CPU使用情况的命令行工具,默认不会自动保存运行日志,需通过手动配置实现日志记录功能。
通过Shell命令将cpustat的输出直接重定向到指定文件,适合临时监控场景。例如:
cpustat -u 1 > /var/log/cpustat.log &
-u
:显示用户态CPU使用率(可选参数,还可使用-c
显示整体CPU统计);1
:每1秒刷新一次数据;>
:覆盖写入日志文件;&
:后台运行,避免阻塞终端。通过Shell脚本实现定时循环记录,并添加时间戳以便后续分析。例如:
#!/bin/bash
LOGFILE="/var/log/cpu_usage.log"
INTERVAL=60 # 记录间隔(秒)
for ((i=0; i<60; i++)); do # 循环60次(总时长60分钟)
echo "===== $(date '+%Y-%m-%d %H:%M:%S') =====" >> "$LOGFILE"
cpustat -c 1 1 | tail -n +2 >> "$LOGFILE" # 忽略首行标题
sleep $INTERVAL
done
tail -n +2
:跳过cpustat输出的标题行;chmod +x script_name.sh
。将上述脚本配置为cron定时任务,实现周期性自动记录。例如,每分钟记录一次:
crontab -e
;* * * * * /usr/local/bin/monitor_cpu.sh >> /var/log/cpu_usage_cron.log 2>&1
monitor_cpu.sh
脚本,并将输出追加到/var/log/cpu_usage_cron.log
中。/var/log/
),文件名可根据需求命名(如cpustat.log
、cpu_usage.log
);/var/log/sysstat/
目录下的sarXX
文件(如sar01
、sar02
,对应每月1日、2日的统计数据),使用sar -u -f /var/log/sysstat/sar01
命令查看具体CPU使用情况。/var/log/
)存在且有足够的写入权限(建议使用sudo
执行相关命令);logrotate
工具),避免日志文件过大占用磁盘空间。