2012-05-24 49 views
0

我正在使用VisualVM(內置於JDK1.6)來分析我的Java應用程序以查找內存泄漏。 我正在使用堆轉儲和Profiler(內存監視器)這兩個VisualVM功能... 有一些不一致我不明白,傾倒堆時,我可以看到有一個類,我寫了約8000實例,當看在剖析器類&實例我找不到相關的類..經過一段時間的堆轉儲後,我可以看到,該類的實例數增加,仍然在探查器中消失。VisualVM堆轉儲與配置文件不一致

我在想這個班是否漏水,爲什麼我不能在剖面儀監視器上看到這些?

感謝您的幫助。

回答

1

在VisualVM監視器中相當於堆轉儲。 Profiler顯示從分析會話開始時創建的實例。

但是,如果你告訴實例數增加,他們應該去分析器結果。奇怪。這爲我工作。嘗試其他配置文件。我更喜歡YourKit。

+0

YourKit rols :) –

+0

是的。它提供了更多的未來 - 比如檢查。這爲我節省了大量時間,您可以在其中查找未關閉FileOutputStream或內存泄漏的任務。 – alexey28