Volcado de hebras en procesos servidores mediante scripts
Utilice el objeto AdminControl para generar un vuelco principal Java que incluya las hebras Java de un servidor en ejecución.
Antes de empezar
Antes de iniciar esta tarea, la herramienta wsadmin debe estar ejecutándose. Consulte el artículo Inicio del cliente de scripts wsadmin mediante scripts wsadmin para obtener más información.
Acerca de esta tarea
El mandato dumpThreads genera un vuelco del almacenamiento dinámico Java, un vuelco de transacciones del sistema iniciado por la JVM (Java Virtual Machine) denominado TDUMP y un vuelco principal Java.
- Un vuelco del almacenamiento principal Java incluye todos los objetos activos en el almacenamiento dinámico Java que está utilizando la aplicación Java que se está ejecutando.
- Un TDUMP del sistema incluye el contenido de todos los espacios de direcciones erróneos.
Avoid trouble: En algunas circunstancias, el proceso de detección de hebra colgada podría activarse con frecuencia, lo que provoca que se inicien operaciones TDUMP del sistema. Estos volcados pueden ser grandes y tardar varios minutos en procesarse. Mientras se están procesando los vuelcos, el espacio de direcciones del servidor no es asignable, lo que podría ampliar la duración de la retención de los bloqueos propiedad del espacio de direcciones. Si el servidor de utiliza subsistemas compartidos, como DB2 o WebSphere MQ, la duración ampliada durante la cual pueden estar retenidos los bloqueos podría afectar negativamente a los subsistemas compartidos, y otros espacios de direcciones que comparten esos subsistemas. Por lo tanto, si sufre hebras colgada con frecuencia, puede interesarle inhabilitar la toma de operaciones TDUMP del sistema en el servidor de aplicaciones que sufre las hebras colgadas.gotcha
- Un vuelco principal Java incluye toda la memoria que está utilizando la JVM e incluye el estado de cada hebra de los procesos del servidor.
Si desea inhabilitar la generación de un vuelco del núcleo, establezca la variable de entorno wsadmin_dumpthreads_enable_heapdump en 0. Si desea inhabilitar la
generación de un TDUMP del sistema, establezca la variable de entorno wsadmin_dumpthreads_enable_javatdump en 0. Puede establecer estas variables en el nivel de nodo o de célula.
Procedimiento
- En Jacl:
set jvm [$AdminControl completeObjectName type=JVM,process=server1,*] $AdminControl invoke $jvm dumpThreads
- Utilización de Jython:
jvm = AdminControl.completeObjectName('type=JVM,process=server1,*') AdminControl.invoke(jvm, 'dumpThreads')
También puede utilizar el mandato Modify para generar un vuelco del núcleo de Java siempre que se exceda el tiempo de espera.
Para obtener más información sobre las variables de entorno que manejan el volcado de hebras, consulte la guía Java Diagnostics.