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工具),避免日志文件过大占用磁盘空间。