¿Cómo puedo suprimir la creación del archivo hs_err_pid?
Pregunta
Estamos ejecutando una aplicación Java bajo Java 1.6.0_13. Cuando se rompe se crea el archivo hs_err_pid normal. No quiero que este archivo creado incluso si la aplicación se bloquea. ¿Hay alguna forma en la línea de comandos java para suprimir esto? Estoy familiarizado con -XX: ErrorFile opción. Si lo configuran como una cadena vacía hará que suprimirlo?
Solución
Si está utilizando un sistema Unix / Linux, intente establecer -XX:ErrorFile
a /dev/null
(o, si está usando Windows, pruebe NUL
).
Otros consejos
Con Oracle HotSpot (ya 6b21
) y OpenJDK, la opción -XX:+SuppressFatalErrorMessage
se debe utilizar para la prevención de la creación del archivo hs_err_pid
.
Hoy en día, el uso de -XX:ErrorFile=/dev/null
en realidad no funcionan como se esperaba, ya que si existe la ruta de acceso especificada a ErrorFile
, la JVM no intentará sobrescribir y volverá a caer a la ubicación hs_err_pid
por defecto (no hay gastos de envío para /dev/null
caso especial) .
Para más detalles, véase también:
- Por qué Java ignora la opción “-XX: ErrorFile = / dev / null “?
- billete de Oracle, JDK-6194668 : agregar el indicador de ejecución de Java
SuppressFatalErrorMessage
para saltar toda la lógica de gestión de errores en el error fatal - OpenJDK billete, JDK-8189672 :
-XX:ErrorFile
no funciona.