linux 根据内存使用量自动重启服务的脚本

来源:互联网 发布:vpn代理软件哪个好 编辑:程序博客网 时间:2024/06/05 21:03
因tomcat经常内存占用比较大造成当机,所以写了个脚本当tomcat使用的内存到一定比率时就自动重启它;设置为10分钟运行一次。[CODE]#!/bin/sh#允许最大占用内存的百分比ram_max=45#服务程序所守候的端口port=8180#通过守候端口获取服务程序的pidpid_ram=` netstat -nlp |grep $port|awk '{print $7}'|awk -F / '{print $1}' `#通过服务程序的pid获取当前占用的内存百分比ram=` ps -aux |grep -m1 $pid_ram|awk '{print $4}'|awk -F . '{print $1}' `#调试程序用#echo $port#echo $pid_ram#echo $ram#echo $ram_max#如果所占用的内存使用率大于所定义的值,则重启该服务程序if expr $ram />= $ram_max > /dev/nullthen                #所要执行的动作#                echo 2                echo "8180 tomcat rebooted" >>/usr/local/tomcat-5.5.9/logs/autoreboot.log                echo `date` >>/usr/local/tomcat-5.5.9/logs/autoreboot.log                /usr/local/tomcat-5.5.9/bin/shutdown.sh                kill -9 $pid_ram                /usr/local/tomcat-5.5.9/bin/startup.sh#调试程序用#else# echo 1fi[/CODE]

出处:http://blog.csdn.net/yown/article/details/1755656

0 0
原创粉丝点击