Linux显示上周的平均CPU负载

时间:2009-02-10 06:12:41

标签: linux load cpu logfiles

在Linux机器上,我需要显示上周每小时的平均CPU利用率。这些信息是否记录在某处?或者我是否需要编写一个每15分钟唤醒一次的脚本来将 / proc / loadavg 复制到日志文件中?

编辑:我不允许使用Linux以外的任何工具。

3 个答案:

答案 0 :(得分:25)

您可能需要查看 sar man page),它很适合您的用例。

系统活动报告程序(SAR) - 捕获重要的系统性能指标  定期间隔。

来自IBM Developer Works Article的示例:

在root 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 包中找到它

答案 1 :(得分:14)

据我所知,它并没有存储在任何地方......无论如何,编写这是一件微不足道的事情。只需添加类似

的内容
cat /proc/loadavg >> /var/log/loads

crontab

请注意,有一些监控工具(如Munin)可以为您执行此类操作,并生成漂亮的图表以启动...但它们可能会因您的情况而过度。

答案 2 :(得分:1)

我建议查看Multi Router Traffic Grapher (MRTG)

使用snmpd读取平均负载,它将自动计算任何时间间隔和长度的平均值,以及用于分析的漂亮图表。

有人已发布了CPU usage example