在 Linux 机器上,我需要显示上周平均每小时的 CPU 利用率。该信息是否记录在某处?或者我是否需要编写一个每 15 分钟唤醒一次的脚本以将 /proc/loadavg复制到日志文件?
编辑:我不允许使用除 Linux 附带的工具以外的任何工具。
您可能想查看sar(手册页),它非常适合您的用例。
System Activity Reporter (SAR) - 定期捕获重要的系统性能指标。
向您的根 crontab 添加一个条目
# Collect measurements at 10-minute intervals
0,10,20,30,40,50 * * * * /usr/lib/sa/sa1
# Create daily reports and purge old files
0 0 * * * /usr/lib/sa/sa2 -A
然后您可以使用 sar 命令简单地查询此信息(显示今天的所有信息):
root ~ # sar -A
或者只是某天的日志文件:
root ~ # sar -f /var/log/sa/sa16
你通常可以在你的 linux 发行版的sysstat包中找到它
据我所知,它没有存储在任何地方......无论如何,写起来是一件微不足道的事情。只需添加类似
cat /proc/loadavg >> /var/log/loads
到你的crontab
.
请注意,有一些监控工具(例如Munin)可以为您做这种事情,并生成漂亮的图表以启动......不过,它们对于您的情况可能有点矫枉过正。
我建议查看Multi Router Traffic Grapher (MRTG)。
使用 snmpd 读取负载平均值,它将自动计算任何时间间隔和长度的平均值,以及用于分析的漂亮图表。
Someone has already posted a CPU usage example.