在堆溢出时保存快照

Posted 0xcafedaddy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在堆溢出时保存快照相关的知识,希望对你有一定的参考价值。

-XX:+HeapDumpOnOutOfMemoryError

该配置会把快照保存在user.dir中,比如你用tomcat启动,那应该是在tomcat的bin目录下

当然,也可以通过XX:HeapDumpPath=./java_pid.hprof来显示指定路径

 此外,OnOutOfMemoryError参数允许用户指定当出现oom时,指定某个脚本来完成一些动作,比如邮件知会。。。

$ java -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/heapdump.hprof -XX:OnOutOfMemoryError ="sh ~/cleanup.sh" MyApp

以上是关于在堆溢出时保存快照的主要内容,如果未能解决你的问题,请参考以下文章

JVM内存溢出分析:堆内存溢出+虚拟机+方法区——JVM系列

生产环境-jvm内存溢出-jprofile问题排查

OutOfMemoryError异常——Java堆溢出。

Java虚拟机八 分析Java堆

Java内存区域与内存溢出异常

函数 堆栈溢出