返回列表 回复 发帖

【原创】根据内存使用量自动重启某项服务的脚本

用途:因公司运行的tomcat经常内存占用比较大造成当机,所以写了个脚本当tomcat使用的内存到一定比率时就自动重启它;设置为10分钟运行一次。
  1. #!/bin/sh
  2. #允许最大占用内存的百分比
  3. ram_max=45
  4. #服务程序所守候的端口
  5. port=8180
  6. #通过守候端口获取服务程序的pid
  7. pid_ram=` netstat -nlp |grep $port|awk '{print $7}'|awk -F / '{print $1}' `
  8. #通过服务程序的pid获取当前占用的内存百分比
  9. ram=` ps -aux |grep -m1 $pid_ram|awk '{print $4}'|awk -F . '{print $1}' `
  10. #调试程序用
  11. #echo $port
  12. #echo $pid_ram
  13. #echo $ram
  14. #echo $ram_max
  15. #如果所占用的内存使用率大于所定义的值,则重启该服务程序
  16. if expr $ram \>= $ram_max > /dev/null
  17. then
  18.                 #所要执行的动作
  19. #                echo 2
  20.                 echo "8180 tomcat rebooted" >>/usr/local/tomcat-5.5.9/logs/autoreboot.log
  21.                 echo `date` >>/usr/local/tomcat-5.5.9/logs/autoreboot.log
  22.                 /usr/local/tomcat-5.5.9/bin/shutdown.sh
  23.                 kill -9 $pid_ram
  24.                 /usr/local/tomcat-5.5.9/bin/startup.sh
  25. #调试程序用
  26. #else
  27. # echo 1
  28. fi
复制代码
这个脚本只要修改一下服务进程的端口和最大内存占用比率,就可以通用。在Debian Linux sarge 和 Redhat AS3下测试OK。
好文,通过这个文章我了解到了同样可以用于apache上面去
不错.学习了.
返回列表
开源邮件服务器 开源邮件服务器 web 开源邮件 开源 mail 开源 邮件服务器 邮件技术 mail技术 反垃圾邮件 反垃圾mail mail投递
邮件服务器 mail服务器 开源软件 mail软件 mail服务新品牌 开源邮件服务新品牌
开源mail服务新网站 邮件服务新品牌 mail tmail mailserver 163邮件 sendmail |Linux维护|Linux代维|成都Linux维护|成都Linux代维