版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Qgwperfect/article/details/78409440
在java程序运行过程中,如果堆空间不足,则有可能抛出内存溢出错误,java虚拟机提供参数 -XX:+HeapDumpOnOutOfMemoryError 使用该参数可以在内存溢出时,导出整个堆信息,可以和XX:HeapDumpPath配合使用,可以指定导出堆存放的路径。
-Xmx20m -Xms5m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=d:/a.dump 运行对应java代码。
可以通过MAT工具打开该文件进行分析。
发生OOM时导出线程转存的例子。准备printStack.bat
D:/jdk/bin/jstack -F %1 > D:/stack.txt。