Linux显示上周平均CPU负载

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

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

据我所知,它不存储在任何地方…无论如何,这是一个微不足道的事情。 只要添加一些像

cat /proc/loadavg >> /var/log/loads 

到你的crontab

请注意,有监测工具(如穆宁 ),可以为你做这种事情,并生成它的启动相当图表…虽然他们可能会矫枉过正。

你可能想看看sar ( 手册页 ),它很适合你的用例。

系统活动报告器(SAR) – 定期捕获重要的系统性能指标。

来自IBM Developer Works的示例文章 :

添加一个条目到你的根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包中找到它

即使上面的答案是你的情况的完美解决方案,我想提一些基于云的监测工具,如SeaLion,New Relic,服务器密度等这些服务有非常简单的安装步骤,非常人性化。 即使这项服务相对较新,我也是SeaLion的粉丝。 它提供了所有常见的linux命令(如正常运行时间,顶级,免费等)的时间轴格式的原始输出,非常好的经验,以找到一个问题在过去。

我会建议看看多路由器流量绘图器(MRTG) 。

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

有人已经发布了一个CPU使用率的例子 。