看周志明大神写的《深入理解Java虚拟机》,看到2.4.1 Java堆溢出 打开堆转储快照文件 的时候迷惑了:
不知道这东西是什么?这东西在哪?于是摸索了一番,记录一番:
首先,在idea的运行按钮这儿,有个编辑运行配置(Edit Configuration):
把它打开可以看到有个VM options,这就是设置当前Java程序的虚拟机配置的:
在这儿填写一下这些配置:
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=JVM_analysis
-Xms50m
-Xmx50m
其中,HeapDumpPath表示堆转储快照文件的保存路径和文件名,这里我就选了当前路径。
然后重新运行,可以看到dump文件成功创建了:
可以看到在当前目录下生成了一个JVM_analysis文件:
然后就是如何打开文件了。进入jdk的安装目录,bin目录下有个jvisualvm.exe(JVM运行信息可视化),双击运行:
打开是这样的:
然后点击左上角的这个(装入快照):
文件类型选择堆,定位到JVM_analysis文件,即可打开:
然后可以看到详细信息: