Configuration de la stratégie de détection des suspensions

L'option de détection des suspensions de WebSphere Application Server est activée par défaut. Vous pouvez configurer une stratégie de détection des suspensions en fonction de vos applications et de votre environnement, de sorte que les éventuelles suspensions soient rapportées et les serveurs défectueux détectés plus rapidement. Lorsqu'une unité d'exécution suspendue est détectée, WebSphere Application Server vous en informe afin que vous puissiez résoudre l'incident.

Avant de commencer

La suspension d'une unité d'exécution constitue une erreur courante dans Java™ EE (Java Platform, Enterprise Edition). Elle peut résulter d'un simple incident logiciel (tel qu'une boucle infinie) ou avoir une cause plus complexe (par exemple, un blocage de ressource). Cette transaction suspendue peut consommer des ressources système, telles que le temps UC, lorsque les unités d'exécution ont un trajet d'exécution illimité. C'est le cas, par exemple, des boucles infinies. De même, un système peut ne plus répondre même si toutes les ressources sont à l'état de veille, comme dans une situation de blocage. A moins qu'un utilisateur ou un outil de contrôle ne fasse état de l'incident, le système peut rester dans cet état de dégradation indéfiniment.

En utilisant la stratégie de détection des suspensions, vous pouvez indiquer un délai trop long pour l'exécution d'une unité de travail. Le moniteur d'unités d'exécution vérifie toutes les unités d'exécution gérées dans le système (par exemple, les unités de conteneur Web et les unités ORB - Object Request Broker). Les unités d'exécution non gérées, les unités d'exécution créées par des applications, ne sont pas contrôlées. Pour plus d'informations, voir Hung threads in Java Platform, Enterprise Edition applications.

Pourquoi et quand exécuter cette tâche

Par défaut, l'option de détection des suspensions d'unité d'exécution est activée. Pour modifier les valeurs de la stratégie de détection des suspensions ou pour désactiver cette option, procédez comme suit :

Procédure

  1. Dans la console d'administration, cliquez sur Serveurs > Serveurs d'applications > nom_serveur
  2. Sous Infrastructure du serveur, cliquez sur Administration > Propriétés personnalisées
  3. Cliquez sur Nouveau.
  4. Ajoutez les propriétés suivantes :
    Information Description
    Chaîne com.ibm.websphere.threadmonitor.interval
    Valeur Fréquence, en secondes, à laquelle les unités d'exécution gérées du serveur d'applications sélectionné seront interrogées.
    Valeut par défaut 180 secondes (trois minutes)
    Information Description
    Chaîne com.ibm.websphere.threadmonitor.threshold
    Valeur Délai, en secondes, au cours duquel une unité d'exécution peut être active avant d'être considérée comme suspendue. Une unité d'exécution active pendant un délai supérieur à cette valeur est considérée comme suspendue.
    Valeut par défaut 600 secondes (dix minutes)
    Information Description
    Chaîne com.ibm.websphere.threadmonitor.false.alarm.threshold
    Valeur Nombre T de fausses alertes avant l'augmentation automatique de ce seuil. Il est possible qu'une unité d'exécution signalée comme suspendue finit par aboutir, ce qui entraîne une fausse alerte. Un nombre important d'événements de ce type indique que le seuil est trop bas. La fonctionnalité de détection des suspensions permet de gérer automatiquement cette situation : à chaque fois que le nombre de fausses alertes atteint T, le seuil T est augmenté par un facteur de 1,5. Définissez une valeur zéro (ou moins) pour désactiver l'ajustement automatique.
    Valeut par défaut 100
    Information Description
    Chaîne com.ibm.websphere.threadmonitor.dump.java
    Valeur

    Cette propriété appelle la fonction dumpThreads. Indiquez True pour exécuter la fonction dumpThreads quand une unité d'exécution bloquée est détectée et qu'un message WSVR0605W est généré. Les sections des unités d'exécution du cliché javacore indiquent ce que les unités d'exécution sont en train de faire.

    Définissez un entier compris entre 1 et Integer.MAX_VALUE pour que la fonction dumpThreads soit exécutée lorsqu'une unité d'exécution bloquée est détectée et qu'un message WSVR0605W est généré. Cet entier indique le nombre maximal de fois que la fonction dumpThreads sera exécutée.
    Remarque : Pour désactiver les messages WSVR0605W, définissez com.ibm.websphere.threadmonitor.interval=0.

    [AIX Solaris HP-UX Linux Windows][IBM i]Par défaut, la fonction dumpThreads crée un cliché javacore. Pour plus d'informations sur la manière de désactiver la création de ce cliché, reportez-vous à la rubrique Vidage des unités d'exécution dans les processus serveur à l'aide de scripts. Pour plus d'informations sur le contenu et les implications de ce cliché, reportez-vous au document Java Diagnostics Guide.

    [z/OS]Par défaut, la fonction dumpThreads crée un cliché javacore, un cliché de tas et un cliché TDUMP. Pour plus d'informations sur la manière de désactiver la création de ces clichés, reportez-vous à la rubrique Vidage des unités d'exécution dans les processus serveur à l'aide de scripts. Pour plus d'informations sur le contenu et les implications de ces clichés, reportez-vous au document Java Diagnostics Guide.

    Valeut par défaut false (0)
    Information Description
    Chaîne com.ibm.websphere.threadmonitor.dump.java.track
    Valeur

    Cette propriété indique le nombre d'intervalles pour lesquels le contrôleur appellera la fonction dumpThreads lors du blocage d'une unité d'exécution.

    Définissez une valeur d'entier comprise entre 2 et la valeur de com.ibm.websphere.threadmonitor.dump.java, ce qui entraîne l'exécution de la fonction dumpThreads pendant les intervalles de surveillance suivants où une unité d'exécution reste bloquée. La valeur d'entier indique le nombre maximal de fois où dumpThreads est exécuté pour effectuer le suivi d'une unité d'exécution bloquée. Par exemple, une valeur 2 amène le contrôleur d'unité d'exécution à exécuter dumpThreads au plus deux fois pour une unité d'exécution bloquée et une fois lorsque l'unité d'exécution est initialement détectée comme étant bloquée. Le contrôleur d'unité d'exécution peut exécuter dumpThreadsand une nouvelle fois si l'unité d'exécution reste bloquée pendant l'intervalle de surveillance d'unité d'exécution suivant.

    Cette propriété peut être utilisée uniquement avec la propriété com.ibm.websphere.threadmonitor.dump.java.

    Valeut par défaut (0) intervalle
  5. Facultatif : Si vous souhaitez surveiller l'activité des unités d'exécution sur lesquelles s'exécutent des alarmes système, ajoutez les arguments génériques JVM suivants aux paramètres du serveur.
    Information Description
    Chaîne -Dcom.ibm.websphere.alarmthreadmonitor.generate.javacore
    Valeur Indiquez n'importe quelle valeur pour créer un cliché javacore quand une unité d'exécution d'alarme système bloquée est détectée. Les sections des unités d'exécution du cliché javacore indiquent ce que les unités d'exécution sont en train de faire.
    Valeut par défaut Non définie
    Information Description
    Chaîne com.ibm.websphere.alarmthreadmonitor.checkinterval.millis
    Valeur Fréquence, en millisecondes, à laquelle les unités d'exécution des alarmes système sont interrogées. Définissez la valeur sur zéro pour désactiver la détection des unités d'exécution bloquées d'alarme système. L'intervalle maximal est de 600000 (10 minutes).
    Valeut par défaut 10000 (10 secondes)
    Information Description
    Chaîne -Dcom.ibm.websphere.alarmthreadmonitor.threshold.millis
    Valeur Définissez sur n'importe quelle valeur entière comprise entre 10000 et 600000 (10 minutes). Cet argument est utilisé pour indiquer le délai, en millisecondes, pendant lequel une unité d'exécution d'alarme système peut être active avant d'être considérée comme non réactive. Toute unité d'exécution d'alarme système détectée comme inactive pendant un délai supérieur à cette valeur est considérée comme suspendue.
    Valeut par défaut 10000 (10 secondes)

    Pour ajouter ces arguments aux paramètres du serveur, procédez comme suit :

    1. Sur la page de paramètres du serveur de la console d'administration, sous Infrastructure du serveur, cliquez sur Gestion des processus et Java > Définition des processus.
    2. [z/OS]Sélectionnez Contrôler.
    3. Sélectionnez Machine virtuelle Java.
    4. Ajoutez les arguments à la section sur les arguments génériques JVM.
  6. Cliquez sur Appliquer.
  7. Cliquez sur OK.
  8. Sauvegardez les modifications. Assurez-vous qu'une synchronisation des fichiers a été effectuée avant de redémarrer les serveurs.
  9. Redémarrez le serveur d'applications pour valider les changements.

Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=ttrb_confighangdet
Nom du fichier : ttrb_confighangdet.html