vincentbook
作者vincentbook·2021-12-03 11:07
技术总监·BoYao-Link

脚本监控 Linux 上的内存使用率

字数 1983阅读 738评论 0赞 1

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

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

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

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

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

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

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

High Memory Alert: 80.40%

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

*如何使用 shell 脚本自动执行日常活动?

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

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

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

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

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

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

#!/bin/sh

ramusage=$(free | awk '/Mem/{printf("RAM Usage: %.2f\\\\n"), $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

最后添加一个cron 任务 来自动执行此操作。它将每 5 分钟运行一次。

# crontab -e

/5 * /bin/bash /opt/s/memory-alert.sh

注意:由于脚本计划每5 分钟运行一次,因此你将在最多 5 分钟后收到电子邮件提醒(但不是 5 分钟,取决于具体时间)。

比如说,如果你的系统达到8.25 的给定限制,那么你将在 5 分钟内收到电子邮件警报。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

X社区推广