java内存溢出定位方法,通过jvm参数分析oom,dump快照文件定位问题原因

模拟oom场景

编写无限循环插入对象触发oom

java内存溢出定位方法,通过jvm参数分析oom,dump快照文件定位问题原因_第1张图片

启动方式添加jvm参数

-XX:+HeapDumpOnOutOfMemoryError 发生oom生成快照文件 默认生成位置与包平级

java -Dfile.encoding=utf-8 -XX:+HeapDumpOnOutOfMemoryError  -jar test.jar 全命令

调用接口可以看到已经出发oom异常

java内存溢出定位方法,通过jvm参数分析oom,dump快照文件定位问题原因_第2张图片

已经生成快照文件了

java内存溢出定位方法,通过jvm参数分析oom,dump快照文件定位问题原因_第3张图片

使用JProfiler工具打开分析

java内存溢出定位方法,通过jvm参数分析oom,dump快照文件定位问题原因_第4张图片

直接定位到触发oom异常的具体方法

java内存溢出定位方法,通过jvm参数分析oom,dump快照文件定位问题原因_第5张图片

你可能感兴趣的:(java,jvm,开发语言)