一般的程序直接在myeclipse中右键------Run As-----Run configurations中的VM参数中添加 -XX:+HeapDumpOnOutOfMemoryError
然后默认生成在 项目路径
如果是web程序,需要配置一下 tomcat的配置文件
在tomcat中设置jvm参数linux系统中
1.打开/tomcat_home/bin/catalina.sh文件
2.加上:JAVA_OPTS="$JAVA_OPTS -server -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:\heapdump"
Windows系统中
1.打开/tomcat_home/bin/catalina.bat文件
2.加上:set JAVA_OPTS=%JAVA_OPTS% -server -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:\heapdump
然后将heapdump添加后缀hprof。
需要用tomcat bin下面的start.bat启动。
然后用 MemoryAnalyzer 打开生成的文件 点击那个tree按钮,然后再右键 list objects-----with outgoing refenrences,可以看到具体那个方法中有问题

本文介绍如何为MyEclipse及Tomcat配置-XX:+HeapDumpOnOutOfMemoryError参数,以便在Java应用程序出现内存溢出错误时自动生成堆转储文件。此外,还提供了在不同操作系统中设置该参数的具体步骤。
4112

被折叠的 条评论
为什么被折叠?



