I would like to detect an OutOfMemoryError
, take a heap dump, and automatically exit the Java program. Say I have the following command-line arguments for my JVM:>
In Java version 8u92 the VM arguments
-XX:+ExitOnOutOfMemoryError
-XX:+CrashOnOutOfMemoryError
were added, see the release notes.
ExitOnOutOfMemoryError
When you enable this option, the JVM exits on the first occurrence of an out-of-memory error. It can be used if you prefer restarting an instance of the JVM rather than handling out of memory errors.CrashOnOutOfMemoryError
If this option is enabled, when an out-of-memory error occurs, the JVM crashes and produces text and binary crash files.
Enhancement Request: JDK-8138745 (parameter naming is wrong though JDK-8154713, ExitOnOutOfMemoryError
instead of ExitOnOutOfMemory
)