|
linux下tomcat内存监控脚本
#!/bin/sh
#========linux下tomcat内存监控脚本2008-04-9=============
set -o xtrace
#===============设置java路径============================
export JDK_HOME=/usr/java/jdk1.5.0_12
export JAVA_HOME=/usr/java/jdk1.5.0_12
export LC_ALL=zh_CN.GB18030
#===============设置tomcat路径==========================
tomcat_path=/usr/tomcat5.0
tomcat_log=/home/tomcat_memory.log
#允许最大占用内存的百分比
ram_max=40
#取java的pid
pid_ram=`ps -ef | grep java| grep -v "grep"|awk '{print $2}'|xargs|awk '{print $1}'`
#显示pid
ram=`ps -e -o 'user,pid,%cpu,%mem,vsz,rss,tty,stat,start,time,command' |grep java|grep -v grep |awk '{print $4}'|xargs|awk '{print $1}'`
#调试程序用
#echo $port
#echo $pid_ram
#echo $ram
#echo $ram_max
#如果所占用的内存使用率大于所定义的值,则重启该服务程序
if expr $ram \>= $ram_max > /dev/null
then
#所要执行的动作
# echo 2
#edho "$ram.`$ram`">>$tomcat_log
echo "`date "+%F %T %A"`tomcat出现内存溢出,稍后将重新启动tomcat" >>$tomcat_log
kill -9 $pid_ram
sleep 10
$tomcat_path/bin/catalina.sh start
echo "`date "+%F %T %A"`tomcat is start" >>$tomcat_log
fiset +o xtrace |
|