2013-12-24 83 views
0

我有一個使用大量內存的Java程序。我使用jmap -histo:live來追蹤使用所有內存的對象。只有幾種類型的內存佔用了大部分內存,其中有大於1M的內存,但我無法確定引用來自的Java內存:引用來自哪裏?

有沒有什麼辦法從命令行告訴什麼類型的對象持有引用這些?

謝謝!

+0

你有遞歸嗎? –

+0

沒有 - 反正也沒有看到它。 – OneSolitaryNoob

回答

1

你可以試着看Eclipse MAT,你可以做一個堆轉儲,然後查看對象的直方圖並搜索引用你提到的「大」對象的對象。

+0

謝謝!我會給它一個鏡頭。 – OneSolitaryNoob