如何做出一个OutOfMemoryError并使它产生dump文件?
注:这篇文章只是一个手册,用来供你做实验时照抄。没有任何原理性的东西,没有干货。
如何做出一个OutOfMemoryError并获取dump文件?
第一步: 设置jvm参数
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/kent/temp/jvm-oom.prof
第二步:使代码产生jvm异常
1. 经验表明,显式地throw new OutOfMemoryError()不会产生dump文件
2. 简单的做法:通过String的串接
看下visual vm的分析:
注意事项
1.最好不要直接在eclipse里运行能产生oom的代码,否则会导致eclipse假死、没反应