JVM的監控工具之jconsole

 

JConsole(Java Monitoring and Management Console)是一種基於JMX的可視化監視、管理工具。管理的是什麼?管理的是監控信息、永久代的使用信息、類加載等等html

若是咱們想監控本機的某一個java程序的運行,那麼直接輸入jconsole(windows下能夠彈出圖形化界面,linux 下沒法彈出圖形化界面)便可,java

 

 

能夠看到本機的java 進程,linux

點擊其中一個就能夠進入圖形化界面,而後對其進行監控查看堆信息,以及進行死鎖檢測。windows

監控eureka 線程,裏面有一欄是線程,下有檢測死鎖的功能,未檢測到死鎖,說明不存在死鎖:tomcat

點擊未檢測到死鎖,工具

而後監控查看deadlock進程,點擊檢測死鎖,發現了三個死鎖的線程,點擊線程能夠查看阻塞的地方,不一樣版本JDK這裏可能有所差別,網上的部分資料說這裏會有紅色的提示,:線程

 

 監控界面上還有執行GC的功能,點擊GC後發現內存確實堆內存佔用有所降低:3d

 

 上面講了如何監控本機的JAVA線程,若是想監控遠程tomcat的的進程呢server

須要在catalina.sh 中添加以下配置:htm

JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=192.168.54.5"  ## 配置遠程的主機
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=8888"  ## 配置遠程jMX端口
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.rmi.port=8888"  ## 配置遠程jMX端口
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticat=true"  ## ## 配置遠程jMX 是否須要認證
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false" ## 配置遠程jMX是否須要ssl

 

JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticat=true"  因環境不一樣而有所差別,我本機必須配置爲true,false 訪問不了

既然開啓了遠程的認證,必然存在認證的用戶名和密碼問題,密碼配置參考博客:http://www.javashuo.com/article/p-vkfagayw-bg.html

連接遠程的tomcat:

遠程tomcat的catalina.sh 配置以下:

相關文章
相關標籤/搜索