Hebras colgadas en aplicaciones Java Platform, Enterprise Edition
WebSphere Application Server supervisa la actividad de hebras y realiza acciones de diagnóstico si una se ha vuelto inactiva.
- Anota un aviso en las anotaciones cronológicas de WebSphere Application Server
que indica el nombre de la hebra que se ha colgado y cuánto tiempo ha estado activa. Se escribe el
siguiente mensaje en el archivo de anotaciones cronológicas:
donde: nombre_hebra es el nombre que aparece en el volcado de hebras de la JVM, tiempo_bloqueo ofrece una aproximación del tiempo que ha estado activa la hebra y hebras_totales ofrece una evaluación global de las hebras del sistema.WSVR0605W: La hebra nombre_hebra lleva activa tiempo_bloqueo y es posible que se haya colgado. Hay un total de hebras_totales en el servidor que pueden estar colgadas.
- Emite una notificación JMX (Java™ Management Extensions). Esta notificación permite a herramientas de terceros capturar el suceso y emprender acciones apropiadas como, por ejemplo, desencadenar un volcado de hebra de JVM del servidor o emitir una página electrónica o un correo electrónico. En la clase com.ibm.websphere.management.NotificationConstants
se definen los siguientes sucesos de notificación JMX:
- TYPE_THREAD_MONITOR_THREAD_HUNG Este suceso se desencadena tras la detección de una (posible) hebra colgada.
- TYPE_THREAD_MONITOR_THREAD_CLEAR Este suceso se desencadena si una hebra notificada anteriormente como colgada finaliza su trabajo. Consulte la sección sobre alarmas falsas para obtener más información.
- Desencadena cambios en los contadores de datos de la infraestructura de supervisión del rendimiento (PMI). Estos contadores de datos PMI los utilizan diferentes herramientas como, por ejemplo, Tivoli Performance Viewer, para proporcionar un análisis del rendimiento.
- Desencadena cambios en los contadores de datos de la infraestructura de supervisión del rendimiento (PMI). Son varias las herramientas que utilizan estos contadores de datos PMI, por ejemplo, Tivoli Performance Viewer, para proporcionar un análisis del rendimiento.
Falsas alarmas
WSVR0606W: Anteriormente se ha notificado que la hebra nombre_hebra se
había colgado pero ha finalizado. Estuvo activa durante unos tiempo_bloqueo.
Hay un total de hebras hebras_totales en el servidor
que aún
pueden estar colgadas.
donde: nombre_hebra es el nombre que aparece en el volcado de hebras de la JVM, tiempo_bloqueo ofrece
una aproximación del tiempo que ha estado activa la hebra y hebras_totales ofrece una evaluación global
de las hebras del sistema.Ajuste automático del umbral de tiempo de actividad
WSVR0607W: Se han notificado demasiadas caídas de hebras incorrectamente. El
umbral de caídas se establece en tiempo_umbral.
donde: tiempo_umbral
es el tiempo (en segundos) durante el que una hebra pueda estar activa antes de que se considere bloqueada.Puede configurar WebSphere Application Server para que no ajuste automáticamente el umbral del tiempo de actividad. Consulte Configuración de la política de detección de cuelgues
Alarmas del sistema
Un servidor de aplicaciones supervisa la actividad de las hebras en las que se ejecutan las alarmas del sistema. Cuando una alarma del sistema ha estado activa más tiempo que el definido por el umbral de supervisión de la hebra de alarma, el servidor de aplicaciones registra el siguiente aviso en el registro cronológico del sistema. Este mensaje indica el nombre de la hebra que no está respondiendo, la cantidad de tiempo que la hebra lleva activa y la pila de excepción de la hebra, que identifica el componente del sistema.
UTLS0008W: La hebra de alarma nombre_hebra lleva activa n
milisegundos y es posible que se haya colgado. hebras_totalespila_hebras
En este mensaje, nombre_hebra es el nombre que aparece en un vuelco de hebras de la JVM, n es aproximadamente cuánto tiempo lleva activa la hebra hebras_totales es una evaluación total de las hebras del sistema y pila_hebras es la pila de excepción de la hebra.
Si el trabajo de la alarma concluye en un momento dado, se escribe el siguiente mensaje en el registro cronológico del sistema. Este mensaje indica la hebra que ha producido la falsa alarma.
UTLS0009W: Anteriormente se ha notificado que la hebra de alarma
nombre_hebra se había colgado pero ha
finalizado. Estuvo activa durante n milisegundos.
En este mensaje, nombre_hebra es el nombre que aparece en un vuelco de hebra de la JVM y n es aproximadamente cuánto tiempo ha estado activa la hebra.
Normalmente, las alarmas del sistema no procesan grandes cargas debido a que dicha actividad puede ralentizar el proceso de alarmas de sistema posteriores lo cual, a su vez, puede afectar al comportamiento del servidor. El mensaje UTLS0008W está dirigido a ayudar al personal de soporte de IBM a investigar problemas potencialmente causados por el comportamiento de las alarmas del sistema.
Todas las alarmas de sistema comparten una agrupación de hebras de alarma común. Es posible ajustar las propiedades que gobiernan la supervisión de esta agrupación de hebras utilizando la consola administrativa. Puede reducir la frecuencia con la que WebSphere genera mensajes de hebra de cuelgue de alarma ajustando el umbral o intervalo del supervisor de hebras de alarma. Consulte el tema Configuración de la política de detección de cuelgues para obtener una descripción de cómo cambiar dichos valores.