Solución:
java -XX:+HeapDumpOnOutOfMemoryError -XX:OnOutOfMemoryError="kill -9 %p" TestApp
JVM primero volcará el montón y luego ejecutará los comandos OnOutOfMemoryError (prueba).
Si solo desea apagar, puede usar uno de los siguientes parámetros:
-
-XX:+ExitOnOutOfMemoryError
-
-XX:+CrashOnOutOfMemoryError
Los argumentos de la máquina virtual se agregaron en la versión 8u92 de Java, consulte las notas de la versión.
ExitOnOutOfMemoryError
Cuando habilita esta opción, la JVM sale en la primera aparición de un error de memoria insuficiente. Se puede usar si prefiere reiniciar una instancia de la JVM en lugar de manejar errores de memoria insuficiente.
CrashOnOutOfMemoryError
Si esta opción está habilitada, cuando se produce un error de falta de memoria, la JVM se bloquea y genera archivos de texto y binarios.
Solicitud de mejora: JDK-8138745 (el nombre de los parámetros es incorrecto aunque JDK-8154713, ExitOnOutOfMemoryError
en lugar de ExitOnOutOfMemory
)