首先我们在IDE里设置JVM的参数
1 首先配置好堆的最小值和最大值。
暂且先设置100M吧。
-Xms100m
-Xmx100m
2 再配置OOM时自动生成日志以及日志路径。
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=D://temp.hprof
OK,前戏完毕,现在写一个main方法OOM。
OK,跑完以后控制台如下显示。
在D盘找到如下文件。
temp.hprof
上传到这个网站
http://heaphero.io/index.jsp(最好先打成zip压缩再上传,不然传半天。。)
点击按钮分析。
哈哈,怎么样,结果是不是非常显而易见,画面提示都非常友好。。
有一个注意点就是,如果你用web容器测试这个工具的时候把jvm堆调大一些,否则spring初始化的时候就OOM了,就分析不到你想要的结果了。