我正在调查 Tomcat/Spring/Hibernate 应用程序中的内存泄漏,它在几次重新部署后导致可怕的“out of permgen”错误。我已经下载了plumbr的免费版本,这证实了我有一个类加载器泄漏,但不幸的是我买不起499美元来获得详细的报告。是否有免费工具可以执行等效分析并告诉我在哪里寻找它?还是我可以调查的其他导致此类泄漏的常见原因?
到目前为止我已采取的步骤:
- 确保我的 JDBC 驱动程序在上下文关闭时未注册
- 手动关闭 MySQL 驱动程序的 AbandonedConnectionCleanupThread(根据 Tomcat Guice/JDBC Memory Leak)
还有什么可能导致泄漏?
最佳答案
您可以使用 evaluation version of JProfiler调查类加载器泄漏。转到类加载器探测器,选择其中一个泄漏的类加载器并将它们显示在堆遍历器中,您可以在其中调查对类加载器加载的类的强引用。
有一个screen cast这将向您展示如何执行此操作。
免责声明:我公司开发 JProfiler。
关于java - 如何使用免费工具查找类加载器泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21966339/