【转】使用JDK自带jvisualvm监控tomcat
轉(zhuǎn)載地址:
http://my.oschina.net/kone/blog/157239
jdk自帶有個jvisualvm工具、該工具是用來監(jiān)控java運行程序的cpu、內(nèi)存、線程等的使用情況。并且使用圖表的方式監(jiān)控java程序、還具有遠(yuǎn)程監(jiān)控能力。不失為一個用來監(jiān)控tomcat的好工具。
在jdk目錄下的bin目錄中可以找到j(luò)visualvm.exe文件、直接啟動可以看到如下界面:
以上是已經(jīng)連接遠(yuǎn)程的界面。直觀的監(jiān)控界面、更有助于我們分析tomcat的運行情況。
下面主要介紹下怎么樣使用本地jvisualvm監(jiān)控遠(yuǎn)程tomcat。
tomcat自帶的監(jiān)控介紹可以參考:
http://tomcat.apache.org/tomcat-6.0-doc/monitoring.html
下面是我的配置方法:
?在tomcat/bin目錄下打開startup.sh或者startup.bat,在最后一行前面加上,也就是:
view source print?| 1 | exec "$PRGDIR"/"$EXECUTABLE" start "$@" |
前面加上
view source print?| 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" |
參數(shù)說明:
view source print?| 1 | -Djava.rmi.server.hostname=xxx.xxx.xxx.xxx 主機地址,我配置的是外網(wǎng)地址 |
| 1 | -Dcom.sun.management.jmxremote.port=xxx? 端口號、配置完端口號之后需要將此端口開放出來? 可以使用命令:iptables -A INPUT -p tcp --d port ?端口號 -j ACCEPT |
| 1 | -Dcom.sun.management.jmxremote.authenticate=true 是否開啟認(rèn)證、false的時候可以不使用密碼訪問 |
| 1 | -Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access? 以上配置是開啟認(rèn)證時使用的access文件和password文件 |
其中jmxremote.access文件的內(nèi)容可以配置為:
view source print?| 1 | username1 readonly |
| 2 | username2 readwrite |
jmxremote.password文件可以配置為:
view source print?| 1 | username1 password1 |
| 2 | username2 password2 |
將以上倆文件放在對應(yīng)配置目錄tomcat/conf/下
并且將以上倆個文件訪問權(quán)限配置成:
view source print?| 1 | chmod 600 jmx* |
如果沒有這一步、使用startup啟動不了tomcat。
按照上述配置、再使用startup.sh啟動tomcat。
接下來就是使用jvisualvm來遠(yuǎn)程監(jiān)控tomcat了
右鍵點擊遠(yuǎn)程-添加遠(yuǎn)程主機-輸入主機ip地址
添加遠(yuǎn)程主機之后,點擊遠(yuǎn)程主機右鍵-添加jmx連接:
彈出登錄框
輸入主機名:端口號,如果配置了用戶名和密碼,請輸入用戶名和密碼。然后點擊確定。
點擊確定之后、在遠(yuǎn)程主機下會有一個jmx連接,打開連接,點擊監(jiān)視tab,可以看到如下界面了。
在上圖中可以看到cpu利用率和垃圾回收活動(這個在分析tomcat性能時也很重要)。然后是堆棧使用情況。下面是類的使用情況,最后一個是線程活動情況。
點擊線程tab可以看到:
上圖可以非常清晰的看到線程活動情況,那些線程正在執(zhí)行,哪些線程正在等待中,以及執(zhí)行完畢的線程等。
這里可以看到每個線程的狀態(tài),點擊某個線程右鍵可以查看該線程的詳細(xì)情況:
使用左上角的線程dump按鈕,還可以看到線程的堆棧情況,這樣就可以具體分析線程是在什么地方進入等待,什么地方進入休眠,以及什么地方一直處于執(zhí)行狀態(tài)。這也是一個性能分析利器哦!
以上就是使用jvisualvm的jmx遠(yuǎn)程監(jiān)控tomcat的簡單配置。
轉(zhuǎn)載于:https://www.cnblogs.com/csshaw/p/3379989.html
總結(jié)
以上是生活随笔為你收集整理的【转】使用JDK自带jvisualvm监控tomcat的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 北京银行小白卡年费多少?如何减免?
- 下一篇: 每日英语:Apple Unveils N