使用Bash脚本监视Linux上的内存使用情况

发布者:上海IT外包来源:http://www.lanmon.net点击数:914

市场上有许多开源监控工具可用于监控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)打印$ 0;}'| mail -s'High Memory Alert'2daygeek @ gmail.com
注意:您需要更改电子邮件地址,而不是使用我们的电子邮件地址。此外,您可以根据需要更改内存利用率阈值。
输出:您将收到类似下面的电子邮件提醒。
高内存警报: 80.40%
我们过去添加了许多有用的shell脚本。如果您想查看这些内容,请导航至以下链接。
*如何使用shell脚本自动化日常活动?
方法2:监视内存利用率并使用Linux Bash脚本发送电子邮件
如果要在邮件警报中获取有关内存利用率的更多信息。使用以下脚本,其中包括基于top命令和ps命令的最高内存利用率和进程详细信息。这将立即让您了解系统的工作原理。
当您的系统达到内存利用率的“80%”时,它将触发电子邮件。
注意:您需要更改电子邮件地址,而不是使用我们的电子邮件地址。此外,您可以根据需要更改内存利用率阈值。
#vi /opt/scripts/memory-alert.sh
#!/bin/sh的
Ramusage=$(免费| awk'/Mem/{printf('RAM Usage:%.2f \ n'),$ 3/$ 2 * 100}'| awk'{print $ 3}')
如果['$ ramusage'>
20];然后
SUBJECT='注意:内存利用率高于$(主机名)$(日期)'
MESSAGE='/TMP/Mail.out'
TO='[email protected]
Echo'内存当前使用率为: $ ramusage%'>
>
$ MESSAGE
回声''>
>
$ MESSAGE
Echo'------------------------------------------------ ------------------'>
>
$ MESSAGE
Echo'顶级内存消耗过程使用top命令'>
>
$ MESSAGE
Echo'------------------------------------------------ ------------------'>
>
$ MESSAGE
Echo'$(top -b -o +%MEM | head -n 20)'>
>
$ MESSAGE
回声''>
>
$ MESSAGE
Echo'------------------------------------------------ ------------------'>
>
$ MESSAGE
Echo'使用ps命令进行顶级内存消耗过程'>>
$ MESSAGE
Echo'------------------------------------------------ ------------------'>
>
$ MESSAGE
Echo'$(ps -eo pid,ppid,%mem,%Memory,cmd --sort= - %mem | head)'>
>
$ MESSAGE
邮件'$ SUBJECT''$ to'<$ MESSAGE
Rm /tmp/Mail.out
网络连接
最后添加一个cron任务来自动执行此操作。它将每5分钟运行一次。
#crontab -e
*/5 * * * */bin/bash /opt/scripts/memory-alert.sh
注意:由于脚本计划每5分钟运行一次,因此您将在最多5分钟后收到电子邮件警报(但不是5分钟,具体取决于时间)。
例如,如果您的系统达到8.25的给定限制,您将在5分钟内收到电子邮件警报。我希望现在能说清楚。
IT外包
>
400-635-8089
立即
咨询
电话咨询
服务热线
400-635-8089
微信咨询
微信咨询
微信咨询
公众号
公众号
公众号
返回顶部