加入收藏 | 设为首页 | 会员中心 | 我要投稿 东莞站长网 (https://www.0769zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

如何使用Bash脚本从SAR报告中获取CPU和内存使用情况

发布时间:2019-09-18 03:21:52 所属栏目:Windows 来源:Magesh Maruthamuthu
导读:大多数 Linux 管理员使用 SAR 报告监控系统性能,因为它会收集一周的性能数据。但是,你可以通过更改 /etc/sysconfig/sysstat 文件轻松地将其延长到四周。同样,这段时间可以延长一个月以上。如果超过 28,那么日志文件将放在多个目录中,每月一个。 要将
副标题[/!--empirenews.page--]

如何使用Bash脚本从SAR报告中获取CPU和内存使用情况

大多数 Linux 管理员使用 SAR 报告监控系统性能,因为它会收集一周的性能数据。但是,你可以通过更改 /etc/sysconfig/sysstat 文件轻松地将其延长到四周。同样,这段时间可以延长一个月以上。如果超过 28,那么日志文件将放在多个目录中,每月一个。

要将覆盖期延长至 28 天,请对 /etc/sysconfig/sysstat 文件做以下更改。

编辑 sysstat 文件并将 HISTORY=7 更改为 HISTORY=28

在本文中,我们添加了三个 bash 脚本,它们可以帮助你在一个地方轻松查看每个数据文件的平均值。

这些脚本简单明了。出于测试目的,我们仅包括两个性能指标,即 CPU 和内存。你可以修改脚本中的其他性能指标以满足你的需求。

脚本 1:从 SAR 报告中获取平均 CPU 利用率的 Bash 脚本

该 bash 脚本从每个数据文件中收集 CPU 平均值并将其显示在一个页面上。

由于是月末,它显示了 2019 年 8 月的 28 天数据。

  1. # vi /opt/scripts/sar-cpu-avg.sh
  2.  
  3. #!/bin/sh
  4.  
  5. echo "+----------------------------------------------------------------------------------+"
  6. echo "|Average: CPU %user %nice %system %iowait %steal %idle |"
  7. echo "+----------------------------------------------------------------------------------+"
  8.  
  9. for file in `ls -tr /var/log/sa/sa* | grep -v sar`
  10. do
  11. dat=`sar -f $file | head -n 1 | awk '{print $4}'`
  12. echo -n $dat
  13. sar -f $file | grep -i Average | sed "s/Average://"
  14. done
  15.  
  16. echo "+----------------------------------------------------------------------------------+"

运行脚本后,你将看到如下输出。

  1. # sh /opt/scripts/sar-cpu-avg.sh
  2.  
  3. +----------------------------------------------------------------------------------+
  4. |Average: CPU %user %nice %system %iowait %steal %idle |
  5. +----------------------------------------------------------------------------------+
  6. 08/01/2019 all 0.70 0.00 1.19 0.00 0.00 98.10
  7. 08/02/2019 all 1.73 0.00 3.16 0.01 0.00 95.10
  8. 08/03/2019 all 1.73 0.00 3.16 0.01 0.00 95.11
  9. 08/04/2019 all 1.02 0.00 1.80 0.00 0.00 97.18
  10. 08/05/2019 all 0.68 0.00 1.08 0.01 0.00 98.24
  11. 08/06/2019 all 0.71 0.00 1.17 0.00 0.00 98.12
  12. 08/07/2019 all 1.79 0.00 3.17 0.01 0.00 95.03
  13. 08/08/2019 all 1.78 0.00 3.14 0.01 0.00 95.08
  14. 08/09/2019 all 1.07 0.00 1.82 0.00 0.00 97.10
  15. 08/10/2019 all 0.38 0.00 0.50 0.00 0.00 99.12
  16. .
  17. .
  18. .
  19. 08/29/2019 all 1.50 0.00 2.33 0.00 0.00 96.17
  20. 08/30/2019 all 2.32 0.00 3.47 0.01 0.00 94.20
  21. +----------------------------------------------------------------------------------+

脚本 2:从 SAR 报告中获取平均内存利用率的 Bash 脚本

该 bash 脚本从每个数据文件中收集内存平均值并将其显示在一个页面上。

由于是月末,它显示了 2019 年 8 月的 28 天数据。

  1. # vi /opt/scripts/sar-memory-avg.sh
  2.  
  3. #!/bin/sh
  4.  
  5. echo "+-------------------------------------------------------------------------------------------------------------------+"
  6. echo "|Average: kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty |"
  7. echo "+-------------------------------------------------------------------------------------------------------------------+"
  8.  
  9. for file in `ls -tr /var/log/sa/sa* | grep -v sar`
  10. do
  11. dat=`sar -f $file | head -n 1 | awk '{print $4}'`
  12. echo -n $dat
  13. sar -r -f $file | grep -i Average | sed "s/Average://"
  14. done
  15.  
  16. echo "+-------------------------------------------------------------------------------------------------------------------+"

(编辑:东莞站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!