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

2021-12-02  本文已影响0人  益达_glmsb

访问官网查看更多信息:http://www.hanyunintel.com
方法-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 '{print3}')
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 分钟内收到电子邮件警报。

上一篇下一篇

猜你喜欢

热点阅读