使用JDK自帶jvisualvm監控tomcat

jdk自帶有個jvisualvm工具、該工具是用來監控java運行程序的cpu、內存、線程等的使用狀況。而且使用圖表的方式監控java程序、還具備遠程監控能力。不失爲一個用來監控tomcat的好工具。 html

在jdk目錄下的bin目錄中能夠找到jvisualvm.exe文件、直接啓動能夠看到以下界面: java

以上是已經鏈接遠程的界面。直觀的監控界面、更有助於咱們分析tomcat的運行狀況。 apache

下面主要介紹下怎麼樣使用本地jvisualvm監控遠程tomcat。 tomcat

tomcat自帶的監控介紹能夠參考: tcp

http://tomcat.apache.org/tomcat-6.0-doc/monitoring.html 工具

下面是個人配置方法: 性能

 在tomcat/bin目錄下打開startup.sh或者startup.bat,在最後一行前面加上,也就是: spa

exec "$PRGDIR"/"$EXECUTABLE" start "$@"


前面加上 線程

export CATALINA_OPTS="$CATALINA_OPTS 
-Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=xxx.xxx.xxx.xxx  -Dcom.sun.management.jmxremote.port=xxx -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password  -Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access"

參數說明: code


-Djava.rmi.server.hostname=xxx.xxx.xxx.xxx 主機地址,我配置的是外網地址
-Dcom.sun.management.jmxremote.port=xxx  端口號、配置完端口號以後須要將此端口開放出來  能夠使用命令:iptables -A INPUT -p tcp --d port  端口號 -j ACCEPT
-Dcom.sun.management.jmxremote.authenticate=true 是否開啓認證、false的時候能夠不使用密碼訪問
-Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access  以上配置是開啓認證時使用的access文件和password文件
其中jmxremote.access文件的內容能夠配置爲:
username1 readonly
username2 readwrite

jmxremote.password文件能夠配置爲:

username1 password1
username2 password2
將以上倆文件放在對應配置目錄tomcat/conf/下

而且將以上倆個文件訪問權限配置成:

chmod 600 jmx*
若是沒有這一步、使用startup啓動不了tomcat。

按照上述配置、再使用startup.sh啓動tomcat。

接下來就是使用jvisualvm來遠程監控tomcat了

右鍵點擊遠程-添加遠程主機-輸入主機ip地址



添加遠程主機以後,點擊遠程主機右鍵-添加jmx鏈接:


彈出登陸框

輸入主機名:端口號,若是配置了用戶名和密碼,請輸入用戶名和密碼。而後點擊肯定。

點擊肯定以後、在遠程主機下會有一個jmx鏈接,打開鏈接,點擊監視tab,能夠看到以下界面了。

在上圖中能夠看到cpu利用率和垃圾回收活動(這個在分析tomcat性能時也很重要)。而後是堆棧使用狀況。下面是類的使用狀況,最後一個是線程活動狀況。

點擊線程tab能夠看到:

上圖能夠很是清晰的看到線程活動狀況,那些線程正在執行,哪些線程正在等待中,以及執行完畢的線程等。

這裏能夠看到每一個線程的狀態,點擊某個線程右鍵能夠查看該線程的詳細狀況:

使用左上角的線程dump按鈕,還能夠看到線程的堆棧狀況,這樣就能夠具體分析線程是在什麼地方進入等待,什麼地方進入休眠,以及什麼地方一直處於執行狀態。這也是一個性能分析利器哦!


以上就是使用jvisualvm的jmx遠程監控tomcat的簡單配置。

相關文章
相關標籤/搜索