【发布时间】:2011-06-23 12:58:12
【问题描述】:
我正在尝试确定我的 web 应用程序中是否存在内存泄漏。我正在使用 VisualVM 和 JMeter 进行负载测试并观察堆。
我昨天将堆转储保存到文件并下载了 Eclipse 内存分析器...在对 VisualVM 感到非常沮丧之后,我认为 Eclipse 会比 VisualVM 更好地查明泄漏(如果有的话)。
我在 Eclipse 中打开了堆文件并运行了他们所谓的泄漏嫌疑人报告。我认为它会指向我的 web 应用程序中的特定类,但事实并非如此。所以我不知道如何使用它提供的信息来找出泄漏嫌疑人在我的任何特定类别中的位置。
这是我的一个堆转储文件的泄漏可疑报告的结果。
由“org.apache.catalina.loader.StandardClassLoader @ 0x261bdac0”加载的“org.apache.catalina.session.StandardManager”的一个实例占用了 16,977,376 (48.54%) 字节。内存在“”加载的“java.util.concurrent.ConcurrentHashMap$Segment[]”的一个实例中累积。 关键词 org.apache.catalina.loader.StandardClassLoader @ 0x261bdac0 org.apache.catalina.session.StandardManager java.util.concurrent.ConcurrentHashMap$Segment[]报告中的其他详细信息如附图所示。我希望可以将图像放大以仔细查看....
我知道 Eclipse 应该是非常好的软件。这是我最后一次尝试使用类似的东西来查找内存泄漏 - 我只是非常非常非常有限地了解如何使用这个软件来解决这个问题。教程和帮助页面描述的事情好像你应该知道点击几下后该做什么......我需要更多的帮助。
【问题讨论】:
标签: java eclipse memory-leaks eclipse-rcp heap-memory