JConsole 是 JDK 內建的圖形化監控工具,自 Java 5 起引入,基於 JMX 技術,可監控本地或遠程 Java 應用的內存、線程、類加載、VM 參數等核心指標,是性能調優的利器。
jconsoleJDK_HOME/bin 雙擊 jconsole.exe無需額外參數,JConsole 可直接發現並連接本地進程。
-Dcom.sun.management.jmxremote.port=8999 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false
參考官方文檔配置 jmxremote.password、jmxremote.access 及 SSL 憑證。
java -cp . -Dcom.sun.management.jmxremote.port=8999 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false JConsoleTest
jconsole.exe 192.168.0.181:8999綜合儀表板,顯示堆/非堆內存、線程數、類加載數、CPU 使用率趨勢圖。右鍵可導出 CSV 供離線分析。
調優切入點:關注 Full GC 頻率、Old 區增長趨勢、Metaspace 洩漏風險。結合 -XX:+PrintGCDetails 日誌分析更精準。
已加載/卸載類數量趨勢,排查類加載器洩漏(如動態代理、熱部署場景)。
JVM 版本、啟動參數、系統屬性、類路徑等靜態資訊,便於核對運行環境。
瀏覽並操作所有註冊的 MBean,包含自定義管理介面、HotSpot 診斷命令(如 heapDump、VM 參數動態修改)。
jconsole -pluginpath $JDK_HOME/demo/management/JTop/JTop.jar
提供類 top 命令的線程級 CPU 佔用視圖,快速定位高 CPU 線程。
JConsole 的「加強版」,整合了 Profiler、Heap Dump 分析、GC 視覺化、插件生態更豐富。推薦作為日常主力工具。
參考:VisualVM 使用指南
JConsole 雖屬輕量級,但掌握其六大視圖的讀數邏輯,結合 GC 日誌與業務場景,足以解決 80% 的生產環境性能問題。進階需求請轉向 VisualVM 或商業級 APM 產品。