在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等。