以下工具均在jdk的bin文件夾下,可雙擊啓動。
1. jconsole
兼容JMX的圖形工具,用於監視Java虛擬機。 它可以監視本地和遠程JVM。 它還可以監視和管理應用程序。
本地啓動後就可查看到運行中的java程序;遠程則需要在-jar之前添加參數,這裏沒用啓用權限
-Djava.rmi.server.hostname=xxx.xxx.xxx.xx
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=xxxx
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
新建連接,輸入ip和端口即可
2. jmc
Java Mission Control(JMC)客戶端包括用於監視和管理Java應用程序的工具,而不會引入通常與這些類型的工具相關的性能開銷。
Java Mission Control 和 Java Flight Recorder共同創建了一個完整的工具鏈,以連續收集低水平和詳細的運行時信息,從而進行事後事件分析。
Java Flight Recorder(JFR)收集並保存詳細的性能特徵,以進行歷史分析和性能分析。它可以用作獨立的性能監視和性能分析工具,但是當用作JMC客戶端的插件時,它可以在邏輯分組的表,圖表和撥號盤中顯示診斷信息。它使您能夠選擇關注問題所需的時間範圍和詳細程度。
本地啓動後就可查看到運行中的java程序;遠程則需要在-jar之前添加參數,這裏沒用啓用權限
-Djava.rmi.server.hostname=xxx.xxx.xxx.xx
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=xxxx
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
新建連接,輸入ip和端口即可
啓動飛行記錄器,還要再-jar後添加參數
-XX:+UnlockCommercialFeatures
-XX:+FlightRecorder
3. jvisualvm
一種圖形工具,提供有關基於Java技術的應用程序(Java應用程序)在Java虛擬機中運行時的詳細信息。 Java VisualVM提供內存和CPU性能分析,堆轉儲分析,內存泄漏檢測,對MBean的訪問以及垃圾回收。
本地啓動後就可查看到運行中的java程序;遠程則需要在-jar之前添加參數,這裏沒用啓用權限
-Djava.rmi.server.hostname=xxx.xxx.xxx.xx
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=xxxx
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
在Linux的 JAVA_HOME/bin 下新建jstatd.all.policy文件
grant codebase "file:../lib/tools.jar" {
permission java.security.AllPermission;
};
在bin目錄下啓動,默認端口1099,端口衝突可使用-p指定端口
jstatd -J-Djava.security.policy=jstatd.all.policy
添加遠程主機
參考:
Java文檔 JDK自帶工具和實用程序
JVM調優之JConsole和JVisualVM工具使用
JConsole遠程連接配置
Java 文檔 Java Flight Recorder and Java Mission Control
java應用性能優化——使用JMC(Java Mission Control)分析性能
Java飛行記錄器用法
VisualVM官網
使用jvisualVm監控本地和遠程的jvm