线上系统OutOfMemoryError: Java heap space问题排查和分析。使用工具Eclipse Mat ,全程Eclipse Memory Analyzereclipse Mat, 无脑下载要求jdk17Eclipse Memory Analyzer (MAT)的安装后提示JDK版本不对要升级到jdk_17一、加载.hprof线上转存文件从服务器复制dump堆栈转存文件。线上服务默认xmx最大内存1GOOM了; 随后调整JVM参数变成3G还是OOM 复制3G.hprof文档到本地分析。# JVM 参数JVMPARAMS-Xms4096m -Xmx4096m -XX:MetaspaceSize256m -XX:MaxMetaspaceSize512m -Xss256k -XX:UseG1GC -XX:MaxGCPauseMillis200 -XX:HeapDumpOnOutOfMemoryError -XX:HeapDumpPath/tmp/heapdump.hprof -XX:PrintGCDetails -Xloggc:/tmp/gc.log二、加载.hprof线上转存文件 Leak SuspectLeak Overview 内存泄露总览Accumulated Objects in Dominator Tree : 支配树中的累计对象Accumulated Objects by Class in Dominator Tree 支配树的累计对象按照对象2.1 Leak Suspects 泄露分析报告2.2 Problem Suspect1 问题总览1local keeps local variables with total size 847.52 MB (85.74%) bytes, 局部变量占用了800MB2.3 查看详情Accumulated Objects by Class in Dominator Tree 支配树的累计对象按照对象三、问题整改通过问题分析是CreateListApplyOrder这个类内存中有45万个对象导致OOM。 没有分页 或者请求范围 太大导致。四、经验教训OOM原因整改未分页/请求区间太大未分页请求范围太大导致ArrayList加载对象太多导致OOM
jvm Java heap analyzer 堆栈内存分析,解决线上内存泄露OOM OutOfMemoryError: Java heap space
发布时间:2026/7/10 19:32:31
线上系统OutOfMemoryError: Java heap space问题排查和分析。使用工具Eclipse Mat ,全程Eclipse Memory Analyzereclipse Mat, 无脑下载要求jdk17Eclipse Memory Analyzer (MAT)的安装后提示JDK版本不对要升级到jdk_17一、加载.hprof线上转存文件从服务器复制dump堆栈转存文件。线上服务默认xmx最大内存1GOOM了; 随后调整JVM参数变成3G还是OOM 复制3G.hprof文档到本地分析。# JVM 参数JVMPARAMS-Xms4096m -Xmx4096m -XX:MetaspaceSize256m -XX:MaxMetaspaceSize512m -Xss256k -XX:UseG1GC -XX:MaxGCPauseMillis200 -XX:HeapDumpOnOutOfMemoryError -XX:HeapDumpPath/tmp/heapdump.hprof -XX:PrintGCDetails -Xloggc:/tmp/gc.log二、加载.hprof线上转存文件 Leak SuspectLeak Overview 内存泄露总览Accumulated Objects in Dominator Tree : 支配树中的累计对象Accumulated Objects by Class in Dominator Tree 支配树的累计对象按照对象2.1 Leak Suspects 泄露分析报告2.2 Problem Suspect1 问题总览1local keeps local variables with total size 847.52 MB (85.74%) bytes, 局部变量占用了800MB2.3 查看详情Accumulated Objects by Class in Dominator Tree 支配树的累计对象按照对象三、问题整改通过问题分析是CreateListApplyOrder这个类内存中有45万个对象导致OOM。 没有分页 或者请求范围 太大导致。四、经验教训OOM原因整改未分页/请求区间太大未分页请求范围太大导致ArrayList加载对象太多导致OOM