大型企業系統常面臨記憶體洩漏:生產環境大數據、長時間運行才暴露,開發/測試環境難復現。BEA JRockit Mission Control (JRMC) 以極低開銷診斷生產環境洩漏。
三大核心組件
- JRockit Management Console (JMX 控制台):
- 監控多 JRockit 實例:GC 暫停、堆使用、CPU 負載、MBean 資訊
- 動態調控:CPU 親和性、GC 策略、記憶體池大小
- 低開銷方法分析器、例外計數器
- JRockit Runtime Analyzer (JRA):
- 「動態記錄器」:預定時間記錄 JVM/應用詳細行為
- 離線分析:方法調用追蹤、同步/鎖分析、GC 統計、優化決策、物件統計
- 雙組件:JVM 記錄引擎 + GUI 分析工具
- 資訊源:HotSpot Detector、OS、Memory System、鎖分析器
- JRockit Memory Leak Detector (重頭戲):
- 趨勢分析器:發現極緩慢洩漏,顯示堆統計 (引用類型/實例、分位置)
- 類級視圖:每類堆佔用、實例數、每秒增長率 (bytes/sec)
- 圖形化追溯:選擇可疑類 → 顯示所有指向它的類型 → 節點展開回溯根因
- 實例級追蹤:顯示特定實例引用鏈、所有分配位置
實戰價值
- 生產環境可直接啟用,開銷極低
- 從「有洩漏」快速定位到「哪行代碼分配、誰持有引用」
- 支援歷史趨勢比較,驗證修復效果
現代替代工具
- JDK 自帶:jcmd/jmap/jstack/jfr/JConsole/VisualVM/JMC (OpenJDK 繼承 JRockit 技術)
- 商業級:Java Flight Recorder (JFR) + JMC、YourKit、JProfiler、Datadog/APM 整合
- 容器化:kubectl exec + jcmd、側車模式收集器
JRockit 技術已融入 OpenJDK,JFR+JMC 成為現代標準診斷棧。