一般的程序直接在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,可以看到具体那个方法中有问题