[2]服务内存使用量监控

一、服务内存使用量监控脚本

内存监控脚本,监控服务如YourServer内存使用是否过量,当内存使用超过阈值,重启服务。
新建./mointer_mem_kill.sh,并赋予可执行权限

#!/bin/bash
interval=120  #设置采集间隔120s
mem_threshold=27648  # 大于27G内存时kill待进程,进程通过supervisor自动重启
condition=true
while $condition
do
    pid=$(ps -ef |grep YourServer |grep -v "grep"| awk '{print $2}')  #获取进程pid
    mem_total=$(cat /proc/meminfo |grep -w MemTotal | awk '{print $2}')
    mem_free=$(cat /proc/meminfo |grep -w MemFree | awk '{print $2}')
    mem_buffers=$(cat /proc/meminfo |grep -w Buffers | awk '{print $2}')
    mem_cached=$(cat /proc/meminfo |grep -w Cached | awk '{print $2}')
    mem_used=$[($mem_total-$mem_free-$mem_buffers-$mem_cached)/1024] ## 计算使用内存
    echo $mem_used
    if [ $mem_used -gt $mem_threshold ];
    then
        echo $(date +"%y-%m-%d %H:%M:%S") >> log.txt ## 记录内存超阈值异常至log文件
        echo "内存超27G" >> log.txt
        kill -9 $pid
    fi
    sleep $interval
done

二、内存监控脚本使用

2.1 如何启动内存监控脚本

nohup ./data_center_mem_kill.sh  > /dev/null 2> /dev/null &

2.2 如何杀掉监控程序.

方法1

ps auxf|grep 'mointer_mem_kill.sh'|grep -v grep|awk '{print $2}'|xargs kill -9

方法2


ps -ef |grep mointer_mem_kill.sh |grep -v "grep"
kill  -9 pid
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值