2012-03-27 48 views
1

我正在打擾permgen內存泄漏問題。我檢查運行系統的能力非常有限,所以我不得不在源代碼中漫步。爲了減少搜索區域,我只想找到(可能)從permgen區域消耗內存的方法。檢查方法是否有助於存儲內存泄漏

E.g.我有絕對叫做的root方法集。從那個集合中,我需要找到從permgen區域(即String.intern()被稱爲等)消耗內存的方法。目前我面臨兩個問題:如何確定方法是否消耗了permgen空間,以及第二個問題 - 如何通過字節代碼來執行跟蹤執行路徑?

感謝您的提前,任何信息感謝!

回答

2

更好的方法是進行內存轉儲,然後使用Eclipse Memory Analyzer來調查哪些類定義和字符串正在PermGen區域中佔用空間。

您還可以添加以下標誌-XX:+ CMSClassUnloadingEnabled -XX:+ CMSPermGenSweepingEnabled以啓用刷新PermGen區域。