Configuración de la política de detección de cuelgues

La opción de detección del estado colgado en WebSphere Application Server está activada de forma predeterminada. Puede configurar una política de detección de estado colgado en las aplicaciones y el entorno para que se pueda informar en el caso de que se produzca este estado, previa detección de los servidores anómalos. Cuando se detecta una hebra colgada, WebSphere Application Server le informa para que pueda resolver el problema.

Antes de empezar

Un error habitual en aplicaciones Java™ EE (Java Platform, Enterprise Edition) es una hebra colgada. Una hebra colgada puede deberse a un simple defecto de software (por ejemplo, un bucle infinito) o tener una causa más compleja (por ejemplo, un punto muerto de recursos). Esta transacción colgada puede consumir los recursos del sistema, como el tiempo de la CPU, cuando las hebras ejecutan vías de acceso de código sin límites, por ejemplo, cuando el código se ejecuta en un bucle infinito. O bien, el sistema puede no responder aunque todos los recursos estén desocupados, como ocurre en el caso del punto muerto. A menos que un usuario o una herramienta de supervisión informe del problema, el sistema puede continuar en este estado colgado indefinidamente.

Utilizando la política de detección de estado colgado, puede especificar un tiempo que no sea demasiado grande para que finalice la unidad de trabajo. El supervisor de la hebra comprueba todas las hebras gestionadas del sistema (por ejemplo, las hebras del contenedor web y las hebras del intermediario de solicitud de objetos (ORB)). Las hebras no gestionadas, esto es, las hebras creadas por las aplicaciones, no se supervisan. Si desea más información, consulte Hebras colgadas en aplicaciones Java Platform, Enterprise Edition.

Acerca de esta tarea

La opción de detección de cuelgues de hebras está habilitada de forma predeterminada. Para ajustar los valores de la política de detección de cuelgues o inhabilitar la detención de cuelgues por completo:

Procedimiento

  1. Desde la consola administrativa, pulse Servidores > Servidores de aplicaciones > nombre_servidor
  2. En Infraestructura del servidor, pulse Administración > Propiedades personalizadas
  3. Pulse Nueva.
  4. Añada las siguientes propiedades:
    Información Descripción
    Name com.ibm.websphere.threadmonitor.interval
    Value Frecuencia, en segundos, con la que se interrogarán las hebras gestionadas del servidor de aplicaciones seleccionado.
    Valor predeterminado 180 segundos (tres minutos)
    Información Descripción
    Name com.ibm.websphere.threadmonitor.threshold
    Value Periodo de tiempo, en segundos, durante el cual una hebra puede estar activa antes de que se considere bloqueada. Las hebras que se detectan como activa durante más tiempo que el indicado por este periodo se indican como bloqueadas.
    Valor predeterminado 600 segundos (diez minutos)
    Información Descripción
    Name com.ibm.websphere.threadmonitor.false.alarm.threshold
    Value Número de veces (T) que se pueden producir falsas alarmas antes de que se aumente automáticamente el umbral. Es posible que una hebra que se notifican como bloqueada realice finalmente el trabajo, lo que produce una falsa alarma. Un número elevado de estos sucesos indica que el valor de umbral es demasiado pequeño. El recurso de detección de bloqueos puede responder de forma automática a esta situación: para cada T falsas alarmas , el umbral T aumenta en un factor de 1,5. Establezca el valor en cero (o menos) para inhabilitar el ajuste automático.
    Valor predeterminado 100
    Información Descripción
    Name com.ibm.websphere.threadmonitor.dump.java
    Value

    Esta propiedad llama a la función dumpThreads. Establézcala en true para ejecutar la función dumpThreads cuando se detecte una hebra colgada y se muestre un mensaje WSVR0605W. La sección de las hebras del volcado de javacore se puede analizar para determinar qué están haciendo la hebra especificada y otras hebras relacionadas.

    Establézcala en un valor entero de 1 a Integer.MAX_VALUE para que la función dumpThreads se ejecute cuando se detecte una hebra colgada y se muestre un mensaje WSVR0605W. El valor entero indica el número máximo de veces que dumpThreads se ejecutará.
    Nota: Para desactivar mensajes WSVR0605W, establezca com.ibm.websphere.threadmonitor.interval=0.

    [AIX Solaris HP-UX Linux Windows][IBM i]De forma predeterminada, la función dumpThreads crea un volcado Java core. Consulte el tema Volcado de hebras en procesos servidores mediante scripts para obtener información sobre cómo inhabilitar la creación de este volcado. Consulte la guía Java Diagnostics para obtener más información sobre el contenido y las implicaciones de este volcado.

    [z/OS]De forma predeterminada, la función dumpThreads crea un volcado Java core, un volcado de almacenamiento dinámico y un TDUMP. Consulte el tema Volcado de hebras en procesos servidores mediante scripts para obtener información sobre cómo inhabilitar la creación de estos volcados. Consulte la guía Java Diagnostics para obtener más información sobre el contenido y las implicaciones de estos volcados.

    Valor predeterminado false (0)
    Información Descripción
    Name com.ibm.websphere.threadmonitor.dump.java.track
    Value

    Esta propiedad especifica el número de intervalos en que el supervisor invocará a la función dumpThreads mientras haya una hebra que permanezca colgada.

    Establezca en un valor entero entre 2 y el valor de com.ibm.websphere.threadmonitor.dump.java, que hace que la función dumpThreads se ejecute en intervalos posteriores de supervisión en los que haya una hebra que permanezca colgada. El valor entero indica el número máximo de veces que se ejecuta dumpThreads para realizar un seguimiento de una hebra colgada. Por ejemplo, un valor de 2 hace que el supervisor de la hebra ejecute dumpThreads dos veces para una hebra colgada, y una vez cuando la hebra se detecta inicialmente como colgada. El supervisor de la hebra puede ejecutar dumpThreadsand una vez más si la hebra sigue colgada durante el siguiente intervalo de supervisión de la hebra.

    Esta propiedad sólo se puede utilizar junto con la propiedad com.ibm.websphere.threadmonitor.dump.java.

    Valor predeterminado (0) intervalos
  5. Opcional: Si desea supervisar la actividad de hebras en la que se ejecutan las alarmas del sistema, añada los siguientes argumentos genéricos de JVM a los valores del servidor.
    Información Descripción
    Name -Dcom.ibm.websphere.alarmthreadmonitor.generate.javacore
    Value Se establece en cualquier valor para que se cree un volcado de cuando se detecte una hebra de alarma de sistema colgada. La sección de las hebras del volcado de javacore se puede analizar para determinar qué están haciendo la hebra especificada y otras hebras relacionadas.
    Valor predeterminado Sin establecer
    Información Descripción
    Name com.ibm.websphere.alarmthreadmonitor.checkinterval.millis
    Value La frecuencia, en milisegundos, a la que se interrogan las hebras de alarma del sistema. Establezca el valor en cero para inhabilitar la detección de hebra colgada de alarma de sistema. El intervalo máximo es 600000 (10 minutos).
    Valor predeterminado 10000 (10 segundos)
    Información Descripción
    Name -Dcom.ibm.websphere.alarmthreadmonitor.threshold.millis
    Value Se establece en cualquier valor entero entre 10000 y 600000 (10 minutos). Este argumento se utiliza para especificar la longitud de tiempo, en milisegundos, que puede estar activa una hebra de alarma de sistema antes de que se considere que no responde. Cualquier hebra de alarma de sistema que se detecte como inactiva durante un periodo de tiempo mayor que el periodo de tiempo se notificará como colgada.
    Valor predeterminado 10000 (10 segundos)

    Para añadir estos argumentos a los valores del servidor, complete las siguientes acciones:

    1. En Infraestructura de servidor en la página de configuración del servidor en la consola administrativa, pulse Java y gestión de procesos > Definición de proceso.
    2. [z/OS]Seleccione Control.
    3. Seleccione Máquina virtual Java.
    4. Añada los argumentos a la sección de argumentos genéricos de JVM.
  6. Pulse Aplicar.
  7. Pulse Aceptar.
  8. Guarde los cambios. Asegúrese de que se lleva a cabo la sincronización de archivos antes de reiniciar los servidores.
  9. Reinicie el servidor de aplicaciones para que los cambios entren en vigor.

Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=ttrb_confighangdet
File name: ttrb_confighangdet.html