jdk的bin目錄提供了兩個用於監測java程序性能的工具:jconsole和jvisualvm。
今天介紹jconsole,這個工具通過兩種方式觸達java程序,本地程序可直接連接到,也可通過JMX技術連接並監控遠程java進程。當需要監控遠程java進程時,需要設置JMX的遠程連接參數。
nohup java -D'java.rmi.server.hostname'='10.200.200.10' -D'com.sun.management.jmxremote.port'=8999 -D'com.sun.management.jmxremote.authenticate'=false -D'com.sun.management.jmxremote.ssl'=false -jar demo-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod &
備註:分別設置JMX遠程監控所在的ip和監聽的端口,hostname一定要用本機ip地址,不要用127.0.0.1
Jconsole可提供哪些幫助:
1.概覽java進程總體情況,包括堆,線程,類,cpu佔用率的變化折線圖。
2.內存:顯示堆和非堆的內存使信息,可查看堆的佔用和GC情況,類似jmap和jstat
3.線程:顯示線程使用信息,類似jstack,可查看各線程的調動信息
4.類:可查看類加載信息
5.VM概要:顯示vm信息,類似一個文字版簡要彙總
6.MBean:JMX的基礎,JMX通過在服務器上註冊MBean,來代表JVM中運行的應用程序或服務,進而實現監控業務資源。