如何让JProfiler打开hprof时不自动FullGC
背景
JProfiler是一款JVM运行状态分析,内存泄漏查询,线程状态查看的神器。在用来查看内存快照的时候(hprof snapshot),一般直接双加hprof文件就可以直接打开。然后Jprofiler会执行一些初始化和分析工作并生成一些分析结果文件,然后就可以打开了。
问题-想看FullGC前的情况怎么办
直接打开hprof文件的时候,JProfiler默认是对你的dump文件做了FullGC的。有图为证。
![可以注意到文件大小是18.97G]
双击打开以后内若如下图,注意①已经表明All objects after fullGC, retaining soft references. ②和③也能看到离18G相去甚远。问题是我们有时候想看FullGC前的情况怎么办?
解决方法
- 不知接双击hprof文件,而是打开JProfiler软件,然后选择Open a snapshot.
- 点Options按钮,勾上Customize analysis,选择hprof文件
- 用定制化的选择重新分析dump文件
- 结果演示,注意看红线部分的结果对象数量和大小都已经明显变了。现在可以看到未执行GC内存对象了。