如何配置JVisualVM遠程監控Tomcat程序請參考:http://hiandroidstudio.blog.51cto.com/5902332/1795310java
一、配置JMX訪問文件android
# cd $CATALINA_HOME/conf/ # cp $JAVA_HOME/jre/lib/management/jmxremote.password.template jmxremote.password # chmod 700 jmxremote.password (必定注意這個文件默認是不可寫的) # vi $CATALINA_HOME/conf/jmxremote.password 在最下面添加一個用戶(第一個是用戶名 第二個是密碼) fox 123456 # chmod 400 jmxremote.password (要求該文件是任何用戶均不可寫的) # cp $JAVA_HOME/jre/lib/management/jmxremote.access jmxremote.access # vi jmxremote.access (該文件是對jmx用戶的受權) 到最後一行 將 monitorRole readonly controlRole readwrite 註釋 更改成 # monitorRole readonly # controlRole readwrite 而後在最後添加一行 fox readwrite # chmod 400 jmxremote.access
二、 配置Tomcat啓動參數 ide
# cd $CATALINA_HOME/bin # vi catalina.sh 找到如下一行 # ----- Execute The Requested Command ----------------------------------------- 在其上方添加一段腳本 加在最後的目的是要沿用以前的JAVA_OPTS和CATALINA_HOME變量設置(特別是堆內存參數設置) 網上文章說法有直接設置JAVA_OPTS的 不過這樣設置在stop的時候會有異常拋出 雖然不影響使用 (參數意義依次是: -Dcom.sun.management.jmxremote 啓用JMX遠程監控 -Dcom.sun.management.jmxremote.port=9004 使用端口9004(可隨意指定只要不衝突) -Dcom.sun.management.jmxremote.authenticate=true 遠程鏈接須要密碼認證 -Dcom.sun.management.jmxremote.ssl=false 不使用SSL(SSL我試了屢次都沒有配置成功:P 暫時不開啓) -Dcom.sun.management.jmxremote.access.file=$CATALINA_HOME/conf/jmxremote.access 使用指定的JMX賬號受權文件 -Dcom.sun.management.jmxremote.password.file=$CATALINA_HOME/conf/jmxremote.password 使用指定的JMX賬號文件)