VisualVM分析会污染结果

时间:2012-01-10 12:36:54

标签: java profiling rmi visualvm

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

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

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

2 个答案:

答案 0 :(得分:3)

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

Why does an empty Java program consume memory?

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

答案 1 :(得分:1)

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