1

我的问题似乎很简单,但我还没有找到解决方案。

我需要知道 Tomcat 中部署的包是如何消耗内存的。

我尝试了一些工具,如 VisualVM 和 JConsole,但我无法发现我部署的包中的哪个创建了对象。例如,我可以看到有很多java.lang.String对象,但我需要知道它们是从哪个包/JAR 创建的。

THX 编辑 omg ......所以 prooooo

4

2 回答 2

0

您可以尝试使用对象查询语言 (OQL)来查询堆。也许这将有助于你的目的。

你可以参考这个链接,看看你是否得到了你需要的东西。 VisualVM 中的对象查询语言

于 2012-11-29T12:10:46.737 回答
0

您可以尝试使用 MAT(Memory Analyzer Tool) 使用此工具,您可以检查使用 VisualVM 获取的堆转储...对于堆中的每个对象,您可以查看哪些对象引用了该对象,因此哪些对象阻止了其他对象从被垃圾收集

于 2012-11-29T12:35:22.800 回答