linux内存使用率均值,使用Bash脚本从SAR报告中获取平均CPU和内存使用情况

大多数Linux管理员使用SAR报告监视系统性能,因为它收集性能数据一周。但是,你可以通过更改“/etc/sysconfig/sysstat”文件轻松地将其延长到四周,此外,这段时间可以延长一个月以上,如果值超过28,则日志文件将放在多个目录中,每月一个。要将覆盖期延长至28天,请对“/etc/sysconfig/sysstat”文件进行以下更改,编辑sysstat文件并将HISTORY=7更改为HISTORY=28。在本文中,我们添加了三个bash脚本,可帮助你在一个位置轻松查看每个数据文件的平均值。这些脚本简单明了,出于测试目的,我们仅包括两个性能指标,即CPU和内存,你可以修改脚本中的其他性能指标以满足你的需求。

1f7fdda59876991d3e3d488ddba3358c.png

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

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

以下为示例,它显示了2019年8月的28天数据:

# vi /opt/scripts/sar-cpu-avg.sh

#!/bin/sh

echo "+-----------------------------+"

echo "|Average:         CPU     %user     %nice   %system   %iowait    %steal     %idle  |"

echo "+-----------------------------+"

for file in `ls -tr /var/log/sa/sa* | grep -v sar`

do

dat=`sar -f $file | head -n 1 | awk '{print $4}'`

echo -n $dat

sar -f $file  | grep -i Average | sed "s/Average://"

done

echo "+-----------------------------+"

运行脚本后,你将获得如下所示的输出:

# sh /opt/scripts/sar-cpu-avg.sh

0307277c7ee4c75136ac27ef73837900.png

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

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

以下是示例,它显示了2019年8月的28天数据:

# vi /opt/scripts/sar-memory-avg.sh

#!/bin/sh

echo "+-----------------------------+"

echo "|Average:       kbmemfree kbmemused  %memused kbbuffers kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty  |"

echo "+-----------------------------+"

for file in `ls -tr /var/log/sa/sa* | grep -v sar`

do

dat=`sar -f $file | head -n 1 | awk '{print $4}'`

echo -n $dat

sar -r -f $file  | grep -i Average | sed "s/Average://"

done

echo "+-----------------------------+"

运行脚本后,你将获得如下所示的输出:

# sh /opt/scripts/sar-memory-avg.sh

b676fcfb8e3014d2c3803d216c09e5c2.png

脚本3:Bash脚本从SAR报告中获取平均CPU和内存利用率

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

与上面的脚本相比,这个bash脚本略有不同,它显示了一个位置(CPU和内存)的平均值,而不是其他数据:

# vi /opt/scripts/sar-cpu-mem-avg.sh

#!/bin/bash

for file in `ls -tr /var/log/sa/sa* | grep -v sar`

do

sar -f $file | head -n 1 | awk '{print $4}'

echo "-----------"

sar -u -f $file | awk '/Average:/{printf("CPU Average: %.2f%\n"), 100 - $8}'

sar -r -f $file | awk '/Average:/{printf("Memory Average: %.2f%\n"),(($3-$5-$6)/($2+$3)) * 100 }'

printf "\n"

done

运行脚本后,你将获得如下所示的输出:

# sh /opt/scripts/sar-cpu-mem-avg.sh

f59e6839964c11897b53ca394e1adebd.png

相关主题

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值