Estoy intentando tener Tomcat, que se está ejecutando actualmente como un servicio en un cuadro de Windows 2003, volcar el montón en un OutOfMemoryError
.¿Puedo ejecutar Tomcat como un servicio para descargar?
(Tomcat se está ejecutando Hudson, que está reportando un problema de espacio de almacenamiento dinámico en el extremo final de mi construcción. Ejecución de la acumulación produce manualmente hay tal error. Los chicos Hudson necesitan un volcado del montón para empezar.)
Como se indica en otra parte, le dije al Apache Service Monitor que configure la JVM que usa para ejecutar Tomcat y volcar el montón cuando se encuentra un OutOfMemoryError
agregando lo siguiente a las opciones de JVM: -XX: + HeapDumpOnOutOfMemoryError Luego ejecuto la compilación de nuevo. Efectivamente, informa que hubo un error de montón. Escaneo todo el disco buscando el archivo predeterminado java_pid123.hprof
(donde obviamente 123
se reemplaza por el PID de la JVM). No existen archivos .hprof
en ninguna parte.
Estoy atrapado en una trampa 22: Necesito el basurero para que los chicos de Hudson arreglen su pérdida de memoria, pero no puedo obtener el volcado del montón si ejecuto Hudson bajo Tomcat.
¿Hay alguna forma especial, cuando Tomcat se ejecuta como un servicio de Windows, de obtener un volcado de pila en un OutOfMemoryError?
La otra cosa que he intentado es decirlo, en las pestañas de Inicio y Apagado, para usar la opción "Java" en lugar de la opción "jvm". Creo que esto debería decirle al Administrador de servicios que intente iniciar Tomcat con un comando ejecutable de Java en lugar de ejecutar el jvm.dll
directamente. Cuando hago esto, el servicio no se iniciará.
Seguramente alguien más ha tenido un problema similar?
Debo mencionar que me he conectado a Tomcat con jconsole y observé que el uso del montón nunca supera los 60MB. –