zoukankan      html  css  js  c++  java
  • 用于监视Linux上的内存使用情况的Bash脚本

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

    2019-06-17 11:32:45作者:戴进稿源:云网牛站

    在本文中,我们添加了两个shell脚本来监视Linux操作系统上的内存利用率,即用于监视Linux上的内存使用情况的Bash脚本,当系统达到给定阈值时,它将触发并发送电子邮件给你。可以参考脚本在实践中的应用:用脚本的方法解决搜狗拼音占用大量内存的问题

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

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

    如果只想在系统达到给定阈值时通过邮件获取当前内存利用率百分比,请使用以下脚本。这是非常简单,一行脚本,在大多数情况下,我更喜欢使用这种方法。当你的系统达到内存利用率的80%时,它将触发电子邮件:

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

    注意:请自行更改电子邮件,此外,你可以根据你的要求更改内存利用率阈值,比如达到70%时。

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

    High Memory Alert: 80.40%

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

    如果要在邮件警报中获取有关内存利用率的更多信息,请使用以下脚本,其中包括基于top命令和ps命令的最高内存利用率进程详细信息,这将立即让你了解系统的运行情况。

    参考:top命令_Linux top命令使用详解:显示或管理执行中的程序

    当你的系统达到内存利用率的80%时,它将触发电子邮件。注意:请自行更改电子邮件,此外,可以根据你的要求更改内存利用率阈值。

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

    #!/bin/sh

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

    最后添加一个cronjob来自动执行此操作,它将每5分钟运行一次:

    # crontab -e

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

    注意:由于脚本计划每5分钟运行一次,因此你将在5分钟后收到电子邮件警报,如果觉得5分钟太频繁,可以更改为10分钟或者1小时都可。

    输出:将收到类似下面的电子邮件提醒,如下图:

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

     
  • 相关阅读:
    WPF MVVM模式开发实现简明教程 1 开篇简介
    ArcGIS Runtime WPF(.net C#)开发简明教程 1 -初识 & 第一个项目
    WPF MVVM模式开发简明实现教程 8 完结 附全部代码
    WPF MVVM模式开发简明实现教程 7 DevExpress MVVM
    WPF MVVM模式开发简明实现教程 6 其他绑定
    WPF MVVM模式开发简明实现教程 5 使用MultiValueConverter进行多参数事件绑定
    WPF MVVM模式开发实现简明教程 4 ViewModelBase
    WPF MVVM模式开发实现简明教程 3-1 BaseCommand
    WPF MVVM模式开发简明实现教程 3 事件绑定
    WPF MVVM模式开发实现简明教程 2 初识 INotifyPropertyChanged
  • 原文地址:https://www.cnblogs.com/xuanbjut/p/12543638.html
Copyright © 2011-2022 走看看