如何更好地调查NetBeans中的内存泄漏

汤姆·马泰纳(Tom Marthenal):

我在写网络蜘蛛。它运行良好,但似乎存在内存泄漏。该程序将正常运行约15分钟,然后它将崩溃。

如果我使用NetBeans中的“配置文件”功能对其进行监视,则可以看到内存随着时间的推移而不断增加,直到最终我得到a java.lang.OutOfMemoryError并且程序完全崩溃。

下图显示了在一分钟和15分钟之后(崩溃之前)使用过的对象的内存快照。是否有任何方法可以知道在何处创建了这些对象(我的主要罪魁祸首是byte[]char[]),还是仍在引用它们(并因此防止它们被垃圾收集器破坏)?

还是我不知道我在说什么?

替代文字

谢谢,感谢您的帮助。

卢卡斯·埃德(Lukas Eder):

您的假设可能正确无误,但可能使用的工具不正确?

我不了解NetBeans,但我知道Yourkit Profiler和JProfiler都是用于此类分析的非常强大的工具。您可以浏览堆并分析“热点”。两种工具都具有试用许可证,因此您可以尝试使用它们,以找出最适合的工具。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章