2012-03-27 26 views
1

我正在打扰permgen内存泄漏问题。我检查运行系统的能力非常有限,所以我不得不在源代码中漫步。为了减少搜索区域,我只想找到(可能)从permgen区域消耗内存的方法。检查方法是否有助于存储内存泄漏

E.g.我有绝对叫做的root方法集。从那个集合中,我需要找到从permgen区域(即String.intern()被称为等)消耗内存的方法。目前我面临两个问题:如何确定方法是否消耗了permgen空间,以及第二个问题 - 如何通过字节代码来执行跟踪执行路径?

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

回答

2

更好的方法是进行内存转储,然后使用Eclipse Memory Analyzer来调查哪些类定义和字符串正在PermGen区域中占用空间。

您还可以添加以下标志-XX:+ CMSClassUnloadingEnabled -XX:+ CMSPermGenSweepingEnabled以启用刷新PermGen区域。