Linux服務器下Tomcat配置
1、 修改Tomcat的啓動語句,編輯linux服務器上的tomcat的bin/catalina.sh文件:
在# OS specific support.$var _must_ be set to either true orfalse. 這一行之後加入以下參數:
JAVA_OPTS="$JAVA_OPTS-Xms256m -Xmx512m-Xss1024K -XX:PermSize=128m-XX:MaxPermSize=256m-Djava.rmi.server.hostname=${IP}-Dcom.sun.management.jmxremote.port=${Port}-Dcom.sun.management.jmxremote.ssl=false-Dcom.sun.management.jmxremote.authenticate=false"
說明:將${IP}替換成上述配置文件中配置的IP地址,${Port}配置沒有被使用的端口。
2、 linux服務器執行hostname -i 命令,如果顯示的是127.0.0.1,則需要修改/etc/hosts文件,否則jconsole無法鏈接。
以上配置完畢後,啓動Tomcat,客戶端機器在控制檯窗口鍵入"jconsole"打開JConsole窗口
在遠程進程中輸入如下字符,將${IP}替換成上述配置文件中配置的IP地址
${IP}:1099例如128.20.49.103:9999即可監控內存、線程、類。
注意:配置完成後關閉Tomcat時需要殺掉遠程監控的端口號進程,兩種解決方案:
(1) 手動輸入ps -ef | grep ${Port} | grep -v "grep" 查看,${Port}爲Tomcat裏catalina.sh配置的監控端口,查出進程號後kill-9殺掉進程。
(2) 編輯catalina.sh,在
elif [ "$1" ="stop" ] ; then
shift
FORCE=0
if [ "$1" ="-force" ]; then
shift
FORCE=1
fi
"$_RUNJAVA"$JAVA_OPTS \
-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS"-classpath "$CLASSPATH" \
-Dcatalina.base="$CATALINA_BASE"\
-Dcatalina.home="$CATALINA_HOME"\
-Djava.io.tmpdir="$CATALINA_TMPDIR"\
org.apache.catalina.startup.Bootstrap"$@" stop
if [ $FORCE -eq 1 ];then
if [ ! -z"$CATALINA_PID" ]; then
echo "Killing: `cat$CATALINA_PID`"
kill -9 `cat$CATALINA_PID`
else
echo "Kill failed:\$CATALINA_PID not set"
fi
fi
去掉此段中的$JAVA_OPTS,並在下方添加以下內容
# -----添加以下語句用來查殺進程 9999 替換成配置的端口號----------
ID=`ps -ef | grep 9999 | grep-v "$0" | grep -v "grep" | awk '{print $2}'`
echo $ID
echo"---------------"
for id in $ID
do
kill -9 $id
echo "killed$id"
done
echo"---------------"