在Ubuntu系统中,cpustat 是一个用于显示CPU统计信息的工具,它是 sysstat 包的一部分。默认情况下,cpustat 不会记录历史数据。但是,你可以通过几种方法来记录CPU使用情况的历史数据:
使用 cpustat 的 -s 选项:
cpustat 可以通过 -s 选项来显示自上次启动以来的CPU统计信息。你可以手动运行 cpustat -s 并将输出重定向到一个文件中来记录这些数据。
cpustat -s > cpu_stats.txt
你可以定期运行这个命令来更新历史数据。
使用 sar 命令:
sar 是另一个可以收集、报告或保存系统活动信息的工具,也是 sysstat 包的一部分。与 cpustat 不同,sar 可以配置为定期收集数据并保存到文件中。
首先,确保 sysstat 包已经安装:
sudo apt-get install sysstat
然后,编辑 /etc/default/sysstat 文件来启用数据收集:
sudo nano /etc/default/sysstat
找到 ENABLED 行并将其设置为 true:
ENABLED="true"
sar 默认会每10分钟收集一次数据,并将其保存在 /var/log/sysstat/ 目录下。你可以查看这些文件来获取历史CPU使用情况。
编写脚本自动记录:
你可以编写一个简单的shell脚本来自动运行 cpustat 或 sar 并将输出保存到文件中。例如,以下脚本会每5分钟记录一次CPU统计信息:
#!/bin/bash
LOGFILE="/var/log/cpu_usage.log"
DATE=$(date +"%Y-%m-%d %H:%M:%S")
echo "Timestamp: $DATE" >> $LOGFILE
cpustat -s >> $LOGFILE
echo "" >> $LOGFILE
将这个脚本保存为 record_cpu.sh,然后使用 chmod 命令使其可执行:
chmod +x record_cpu.sh
然后,你可以使用 cron 来定期运行这个脚本。编辑用户的crontab文件:
crontab -e
添加一行来每5分钟运行脚本:
*/5 * * * * /path/to/record_cpu.sh
保存并退出编辑器,这样就会按照设定的时间间隔自动记录CPU使用情况了。
选择适合你需求的方法来记录CPU使用情况的历史数据。如果你需要长期监控,可能需要考虑使用更高级的监控解决方案,如Prometheus、Grafana等。