Linux显示上周的平均CPU负载

tho*_*ate 19 linux cpu load logfiles

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

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

Bri*_*aro 25

您可能想查看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
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用sar命令查询此信息(显示今天的所有信息):

root ~ # sar -A
Run Code Online (Sandbox Code Playgroud)

或者只是某一天的日志文件:

root ~ # sar -f /var/log/sa/sa16
Run Code Online (Sandbox Code Playgroud)

您通常可以在Linux发行版的sysstat包中找到它

  • 我看着萨尔。但据我所知,它只显示当前的 CPU。我必须让它每隔几秒运行一次并取平均值。如果我错了,请告诉我,因为它会很有用。 (2认同)

Dav*_*d Z 14

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

cat /proc/loadavg >> /var/log/loads
Run Code Online (Sandbox Code Playgroud)

到你的crontab.

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