一、获取Dump文件在:tomcat安装目录bin下的catalina.sh文件夹的JAVA_OPTS中添加以下配置信息:/tmp/heapdump.hprof为dump文件目录
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/tmp/heapdump.hprof
二、在官网下载mat官网地址:https://www.eclipse.org/mat
三、打开应用
如果提示:version 1.8 of the JVM is not suitable for this product. Version:11 or greater is required
将以下内容添加到MemoryAnalyzer.ini文件的头两行
-vm
C:\Program Files\Java\jdk-11.0.14\bin\javaw.exe
如果提示 An internal error occurred during: “Parsing heap dump from ‘C:\Users\ycw\heapdump.hprof’”.Java heap space
将MemoryAnalyzer.ini文件中的-Xmx进行调整改,完整的文件为
-startup
plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar
-vm
C:\Program Files\Java\jdk-11.0.14\bin\javaw.exe
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.2.400.v20211117-0650
-vmargs
-Xmx174080m
四、打开dump文件
五、选择Leak Suspects Report进行分析
六、查看内存消耗大的线程
七、点进去查看自己的代码,经查是此处数据量较大,且未做分页,当查询条件为空时数据量大导致内存溢出。
版权声明:本文为weixin_52472152原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。