Java 應用在生產環境面臨記憶體洩漏、CPU 飆高、執行緒死鎖、GC 頻繁等棘手問題時,選對工具事半功倍。本文梳理十大主流效能分析工具,涵蓋 JDK 內建、開源社群、商業級產品,助你建立完整排錯工具箱。
• 即時監控:堆/非堆記憶體、執行緒、類別載入、CPU 使用率
• 遠程連線:支援本地/遠程 JVM(需啟用 JMX 遠程埠)
• MBean 操作:動態調整 Log Level、觸發 GC、檢視系統屬性
• 記憶體分代視圖:Eden、Survivor、Old、Metaspace 使用趨勢
jconsole 或 JDK bin 目錄下雙擊• 應用總覽:PID、主類別、參數、系統屬性一覽
• 即時圖表:CPU、堆、類別、執行緒四合一儀表板
• 執行緒分析:支援 Thread Dump 捕獲、死鎖偵測、執行緒狀態時間軸
• 記憶體分析:Heap Dump 產生/載入、類別統計、GC 根引用追蹤、洩漏疑點標記
• CPU/記憶體 Profiling:取樣式分析,低負擔定位熱點方法、物件分配熱點
• 插件生態:支援 MBeans、Visual GC、Tracer 等擴展
• 支援超大 Heap Dump(數十 GB)快速索引
• Dominator Tree:精準定位佔用保留記憶體最大的物件鏈
• Leak Suspects Report:一鍵生成洩漏嫌疑報告
• OQL 查詢:類 SQL 語法靈活檢索物件圖
• 歷史對比:兩次 Dump 差異分析,追蹤記憶體增長軌跡
-verbose:gc、-Xloggc 產生的日誌若應用部署於 HP-UX 平台,以下原生工具不可或缺:
| 場景 | 首選工具 | 備選工具 |
|---|---|---|
| 生產環境快速巡檢 | JConsole | VisualVM (Sampling 模式) |
| 開發環境深度 CPU/記憶體分析 | VisualVM / JProfiler(商業) | YourKit(商業) |
| 離線大型 Heap Dump 洩漏分析 | Eclipse MAT | HeapAnalyzer |
| GC 行為視覺化與調優 | GCViewer | GCEasy (線上)、Visual GC 插件 |
| 生產應用內嵌監控 | JAMon / Micrometer + Prometheus | SkyWalking / Pinpoint (APM) |
| HP-UX 平台專項優化 | HPjmeter / HPjconfig | — |
工具無優劣,唯場景適用。建議團隊建立「輕量巡檢 → 取樣分析 → 深度剖析」三級排錯流程,並將 JAMon 等輕量監控嵌入應用,配合 APM 系統實現全鏈路可觀測。掌握上述工具核心操作,將讓你從「盲目猜測」轉向「數據驅動」的效能優化專家。