VisualVM 分析正在污染结果

Posted

技术标签:

【中文标题】VisualVM 分析正在污染结果【英文标题】:VisualVM profiling is polluting results 【发布时间】:2012-01-10 12:36:54 【问题描述】:

我正在使用 VisualVM 内存分析来分析应用程序的内存分配行为。不幸的是,分析过程本身似乎污染了我的结果。

我不断看到在 5 分钟的时间范围内分配了 80Mb,这是由于内存分析结果通过 JMXBean RMI 连接进行序列化。这个内存总是在第 1 代,当我要求它时,它会立即被 GC,但它仍然显示出来,这很烦人。

我可以根据进行分配的类过滤内存分析结果吗?

【问题讨论】:

【参考方案1】:

试试JProfiler,它不使用堆资源。你可以在这里看到:

Why does an empty Java program consume memory?

在分析空应用程序时,visualvm 甚至会分配很多东西。

【讨论】:

【参考方案2】:

我发现了同样的问题。出于这个原因,我使用了一个商业分析器,例如 YourKit,它使用本地代理进行分析,并且不使用堆或有太多开销。

【讨论】:

以上是关于VisualVM 分析正在污染结果的主要内容,如果未能解决你的问题,请参考以下文章

解释 VisualVM 回溯

了解 visualvm 分析器中的 CPU 时间

使用 visualvm 分析 Tomcat Web 应用程序

使用 VisualVM 分析 Tomcat 应用程序

VisualVM 未显示任何调用 CPU 性能分析的方法

如何附加 VisualVM 并在应用程序启动时立即开始分析?