博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell脚本检测tomcat进程占用内存大小
阅读量:6658 次
发布时间:2019-06-25

本文共 1580 字,大约阅读时间需要 5 分钟。

hot3.png

脚本作用:监控运行中的tomcat内存占用大小,当内存超过所定义的最大使用内存时,自动重启tomcat,达到释放内存的效果。

脚本如下 check_tomcat.sh:

#!/bin/bash

#by Lia
#check tomcat process memery.
#

#define tomcat process, if outride the number, then restart tomcat server.

#4194305 kb = 4 G

tomcat_mem=4194304

#get pids of tomcat5,tomcat6

tomcat_pid=`ps -ef | grep tomcat | grep java | awk 'NR==1 {print $2}'`
echo $tomcat_pid

#get tomcat5's memery(KB).

tomcat_mem=`cat /proc/$tomcat_pid/status | grep -e VmRSS | awk 'NR==1 {print $2}'`
echo $tomcat_mem

#tomcat env

tomcat_home=/opt/tomcat

#define tomcat restart function

function restart_tomcat()
{
pid=`ps aux | grep tomcat | grep -v grep | grep -v retomcat | awk '{print $2}'`
echo $pid

cd $tomcat_home/bin

if [ -n "$pid" ]

then
{
echo ===========shutdown================
./shutdown.sh
sleep 10
pid=`ps aux | grep tomcat | grep -v grep | grep -v retomcat | awk '{print $2}'`
if [ -n "$pid" ]
then
{
sleep 2
echo ========kill tomcat6==============
kill -9 $pid
}
fi
sleep 3
echo ===========startup.sh==============
./startup.sh
}
else
echo ===========startup.sh==============
./startup.sh
fi
}

#check log dir or not, then mkdir log dir

[ ! -d logs ] && mkdir -pv logs

#if tomcat process memery outride tomcat_mem, then restart tomcat server.

if [[ $tomcat_mem -gt $tomcat_mem ]]; then
echo `date "+%F %T"` [Tomcat5 RUNNING]Tomcat\'s memery is outride.>>logs/restart_tomcat_`date "+%F"`.log
restart_tomcat
else
echo `date "+%F %T"` [Tomcat5 RESTART]Tomcat\'s memery not outride.>>logs/restart_tomcat_`date "+%F"`.log
fi

可将脚本写入crontab中,定时检测。

转载于:https://my.oschina.net/yiyuqiuchi/blog/188918

你可能感兴趣的文章
我要学python之生成器
查看>>
ubuntu 13.04 安装QQ
查看>>
IOS图片的拉伸技巧
查看>>
tomcat安装
查看>>
KVM虚拟化的部署及使用
查看>>
Linux软链接和硬链接文件
查看>>
semaphore.h
查看>>
java学习笔记 --- 网络编程(套接字)
查看>>
tkinter 03 Listbox 列表部件
查看>>
Linux磁盘管理命令介绍
查看>>
一锤定音:高通(Qualcomm)370亿美元收购NXP,成为全球第一大汽车芯片供应商...
查看>>
JVM工作原理学习笔记
查看>>
windows 共享访问相关问题
查看>>
DC的sysvol目录管理!
查看>>
apache 防盗链 与 地址重写
查看>>
python3版本mysql的操作
查看>>
登录式shell与非登录式shell
查看>>
指针参数是如何传递内存的
查看>>
Server系列7:看win2012时代如何强制还原记录数据
查看>>
Linux下查看文件和文件夹大小 du df
查看>>