Vidage des unités d'exécution dans les processus serveur à l'aide de scripts
L'objet AdminControl permet de générer un vidage mémoire Java, qui comprend les unités d'exécution d'un serveur en cours d'exécution.
Avant de commencer
Avant de commencer cette tâche, assurez-vous que l'outil wsadmin est démarré et actif. Pour plus d'informations, voir Démarrage du client de scriptage wsadmin à l'aide de l'outil de scriptage wsadmin.
Pourquoi et quand exécuter cette tâche
La commande dumpThreads permet de générer
un cliché des segments de mémoire Java, un cliché TDUMP système initialisé par la JVM et un vidage mémoire Java.
- Un cliché de segment de mémoire Java inclut tous les objets du segment de mémoire Java utilisés par l'application Java en cours d'exécution.
- Un cliché TDUMP système inclut le contenu de tous les espaces
adresse qui ont échoué.
Eviter les incidents: Dans certaines circonstances, le processus de détection de l'unité d'exécution bloquée doit être fréquemment déclenché, provoquant le lancement des clichés TDUMP système. Ces clichés peuvent être volumineux et avoir un traitement de plusieurs minutes. Pendant le traitement des clichés, l'espace adresse du serveur ne peut être réparti, ce qui peut allonger la durée pendant laquelle les verrous appartenant à l'espace adresse sont maintenus. Si votre serveur utilise des sous-systèmes partagés tels que DB2 ou WebSphere MQ, la durée pendant laquelle les verrous peuvent être maintenus peut affecter ces sous-systèmes partagés ainsi que d'autres espaces adresse les partageant. Par conséquent, si vous rencontrez fréquemment des unités d'exécution bloquées, vous pouvez désactiver les clichés TDUMP système sur le serveur d'applications sur lequel elles se produisent.gotcha
- Un vidage mémoire Java inclut toute la mémoire utilisée par la JVM et inclut l'état de chaque unité d'exécution des processus de serveur.
Si vous souhaitez désactiver la génération du
cliché de segments de mémoire, affectez à la variable d'environnement
wsadmin_dumpthreads_enable_heapdump la valeur
0. Si vous souhaitez désactiver la génération
du cliché TDUMP système, affectez à la variable d'environnement
wsadmin_dumpthreads_enable_javatdump la valeur 0. Vous pouvez définir ces variables au niveau du noeud ou de la cellule.
Procédure
- A l'aide de Jacl :
set jvm [$AdminControl completeObjectName type=JVM,process=server1,*] $AdminControl invoke $jvm dumpThreads
- Avec Jython :
jvm = AdminControl.completeObjectName('type=JVM,process=server1,*') AdminControl.invoke(jvm, 'dumpThreads')
La commande Modify vous permet de générer un cliché de l'unité d'exécution Java chaque fois qu'un délai d'attente est dépassé.
Pour obtenir des informations sur les variables d'environnement dans le cas du vidage des unités d'exécution, voir le Guide de diagnostics Java.