El volcado de subprocesos es esencial para la resolución de problemas de aplicaciones Java. Si está trabajando en temas relacionados con el rendimiento, pérdida de memoria, depuración, etc., a menudo se le pedirá que realice un volcado de heap y heap.
Usted puede tomar el vertedero manualmente pero si desea hacerlo automáticamente, aquí es cómo puede hacerlo. La siguiente demostración se basa en
La siguiente demostración se basa en WebSphere 9, pero el procedimiento sería similar a otra versión de WAS.
Taking Thread Dump When JVM Stop
Puede haber un escenario en el que le gustaría tomar la volcado de hilo cada vez que JVM se detiene. Esto será útil cuando no esté seguro de quién o cómo se detiene la JVM.
Para configurar esto;
- Inicie sesión en la consola administrativa de WebSphere
- Vaya a Servidores >> Tipos de servidor >> Servidores de aplicaciones WebSphere
- Vaya dentro de la JVM y expanda "Java and Process Management" en Server Infrastructure
- Haga clic en Definición de proceso
- Haga clic en "Máquina virtual Java" en Propiedades adicionales >> Propiedades personalizadas
- Haga clic en Nuevo e ingrese el Nombre como
com.ibm.ws.runtime.dumpShutdown
- Valor como verdadero
- haga clic en Aceptar
- Revisar y guardar la configuración
Ahora, el volcado de pila se generará cada vez que se detenga la JVM.
Detuve la JVM y pude ver el siguiente archivo javacore en el servidor WAS en la ruta del perfil.
-rw-r - r--. 1 raíz raíz 3179348 28 de noviembre 22:49 javacore.20161128.224916.4926.0001.txt -rw-r - r--. 1 raíz raíz 3124208 28 de noviembre 22:49 javacore.20161128.224924.4926.0002.txt
Taking Thread Dump When Hung
Si tiene un problema de hilo colgado y actualmente realiza el volcado manualmente, puede automatizarlo.
Al realizar la configuración básica, WebSphere generará el volcado cada vez que se cuelgue un subproceso para el tiempo configurado.
- Inicie sesión en la consola WAS y acceda a la JVM respectiva
- Expanda "Administración" en Infraestructura del servidor y haga clic en Propiedades personalizadas
- Agregue las siguientes tres propiedades
com.ibm.websphere.threadmonitor.threshold - Generar volcado cuando un hilo se cuelga durante el tiempo configurado. El valor está en segundos.
com.ibm.websphere.threadmonitor.intervalo - Con qué frecuencia el monitor de hilo debe comprobar si hay hilos colgados. El valor en segundos.
com.ibm.websphere.threadmonitor.dump.java - Generar volcado cuando se detecta. El valor es verdadero.
La configuración anterior generará un volcado cada vez que se cuelgue un hilo para 600 segundosy WebSphere supervisará el hilo cada 300 segundos.
Una vez que tenga el vertedero, puede analizar y solucionar el problema de la aplicación. Espero que esto ayude.