使用JDK自帶jvisualvm監控tomcat


國內私募機構九鼎控股打造APP,來就送 20元現金領取地址: http://jdb.jiudingcapital.com/phone.html
內部邀請碼: C8E245J (不寫邀請碼,沒有現金送)
國內私募機構九鼎控股打造,九鼎投資是在全國股份轉讓系統掛牌的公眾公司,股票代碼為430719,為“中國PE第一股”,市值超1000億元。 

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

 

原文地址: http://my.oschina.net/kone/blog/157239

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

在jdk目錄下的bin目錄中可以找到jvisualvm.exe文件、直接啟動可以看到如下界面:

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

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

tomcat自帶的監控介紹可以參考:

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

下面是我的配置方法:

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

 

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

 

前面加上

 

1 export CATALINA_OPTS="$CATALINA_OPTS 
1 -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"

參數說明:

 

1 -Djava.rmi.server.hostname=xxx.xxx.xxx.xxx 主機地址,我配置的是外網地址
1 -Dcom.sun.management.jmxremote.port=xxx  端口號、配置完端口號之后需要將此端口開放出來  可以使用命令:iptables -A INPUT -p tcp --d port  端口號 -j ACCEPT
1 -Dcom.sun.management.jmxremote.authenticate=true 是否開啟認證、false的時候可以不使用密碼訪問
1 -Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access  以上配置是開啟認證時使用的access文件和password文件

其中jmxremote.access文件的內容可以配置為:

1 username1 readonly
2 username2 readwrite

jmxremote.password文件可以配置為:

1 username1 password1
2 username2 password2

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

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

1 chmod 600 jmx*

如果沒有這一步、使用startup啟動不了tomcat。

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

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

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



添加遠程主機之后,點擊遠程主機右鍵-添加jmx連接:


彈出登錄框

輸入主機名:端口號,如果配置了用戶名和密碼,請輸入用戶名和密碼。然后點擊確定。

點擊確定之后、在遠程主機下會有一個jmx連接,打開連接,點擊監視tab,可以看到如下界面了。

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

點擊線程tab可以看到:

上圖可以非常清晰的看到線程活動情況,那些線程正在執行,哪些線程正在等待中,以及執行完畢的線程等。

這里可以看到每個線程的狀態,點擊某個線程右鍵可以查看該線程的詳細情況:

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

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM