加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 正文

用Bash脚本监控Linux上的内存实时情况

发布时间:2021-05-28 14:47:50 所属栏目:创业 来源:互联网
导读:目前市场上有许多开源监控工具可用于监控 Linux 系统的性能。当系统达到指定的阈值限制时,它可以发送电子邮件警报。它可以监视 CPU 利用率、内存利用率、交换利

目前市场上有许多开源监控工具可用于监控 Linux 系统的性能。当系统达到指定的阈值限制时,它可以发送电子邮件警报。它可以监视 CPU 利用率、内存利用率、交换利用率、磁盘空间利用率等所有内容。

如果你只有很少的系统并且想要监视它们,那么编写一个小的 shell 脚本可以使你的任务变得非常简单。

在本教程中,我们添加了两个 shell 脚本来监视 Linux 系统上的内存利用率。当系统达到给定阈值时,它将给特定电子邮件地址发邮件。

方法-1:用 Linux Bash 脚本监视内存利用率并发送电子邮件

如果只想在系统达到给定阈值时通过邮件获取当前内存利用率百分比,请使用以下脚本。

这是个非常简单直接的单行脚本。在大多数情况下,我更喜欢使用这种方法。

当你的系统达到内存利用率的 80% 时,它将触发一封电子邮件。

*/5 * * * * /usr/bin/free | awk '/Mem/{printf("RAM Usage: %.2f%n"), $3/$2*100}'| awk '{print $3}'| awk '{ if($1 > 80) print $0;}'| mail -s "High Memory Alert"2daygeek@gmail.com

注意:你需要更改电子邮件地址而不是使用我们的电子邮件地址。此外,你可以根据你的要求更改内存利用率阈值。

输出:你将收到类似下面的电子邮件提醒。

HighMemoryAlert:80.40%

我们过去添加了许多有用的 shell 脚本。如果要查看这些内容,请导航至以下链接。

方法-2:用 Linux Bash 脚本监视内存利用率并发送电子邮件

如果要在邮件警报中获取有关内存利用率的更多信息。使用以下脚本,其中包括基于 top 命令和 ps 命令的***内存利用率和进程详细信息。

这将立即让你了解系统的运行情况。

当你的系统达到内存利用率的 “80%” 时,它将触发一封电子邮件。

注意:你需要更改电子邮件地址而不是使用我们的电子邮件地址。此外,你可以根据你的要求更改内存利用率阈值。

#vi/opt/scripts/memory-alert.sh

 

#!/bin/sh

ramusage=$(free | awk '/Mem/{printf("RAM Usage: %.2fn"), $3/$2*100}'| awk '{print $3}')

 

if["$ramusage">20];then

 

SUBJECT="ATTENTION: Memory Utilization is High on $(hostname) at $(date)"

MESSAGE="/tmp/Mail.out"

TO="2daygeek@gmail.com"

echo"Memory Current Usage is: $ramusage%">> $MESSAGE

echo"">> $MESSAGE

echo"------------------------------------------------------------------">> $MESSAGE

echo"Top Memory Consuming Process Using top command">> $MESSAGE

echo"------------------------------------------------------------------">> $MESSAGE

echo"$(top -b -o +%MEM | head -n 20)">> $MESSAGE

echo"">> $MESSAGE

echo"------------------------------------------------------------------">> $MESSAGE

echo"Top Memory Consuming Process Using ps command">> $MESSAGE

echo"------------------------------------------------------------------">> $MESSAGE

echo"$(ps -eo pid,ppid,%mem,%Memory,cmd --sort=-%mem | head)">> $MESSAGE

mail -s "$SUBJECT""$TO"< $MESSAGE

rm/tmp/Mail.out

fi

用Bash脚本监控Linux上的内存实时情况

(编辑:核心网)

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

    热点阅读