Comment générer un vidage de tas Java ou un vidage de thread pour résoudre un problème lié à ePO
Articles techniques ID:
KB73309
Date de la dernière modification : 2022-09-12 16:47:54 Etc/GMT
Environnement
McAfee ePolicy Orchestrator (ePO) 5.x
Synthèse
Parfois, vous pouvez rencontrer des problèmes qui nécessitent un Java Heap dump ou Thread dump .
Exemples d'applications concernées :
- La mémoire du serveur ePO est insuffisante.
- Vous voyez des erreurs telles que OutOfMemory dans le Orion.log fichier sur le serveur ePO.
- Tomcat ne répond pas ou est en état d’erreur.
- Support technique demande un vidage du tas.
ATTENTION : Cet article contient des informations sur l’ouverture ou la modification du Registre.
- Les informations suivantes sont destinées aux administrateurs système. Les modifications apportées au Registre sont irréversibles et peuvent causer des défaillances du système si elles ne sont pas effectuées correctement.
- Avant de poursuivre, le Support technique vous recommande fortement de sauvegarder votre Registre et de bien connaître la procédure de restauration. Pour plus d’informations, reportez-vous à l’article Microsoft Windows informations de Registre pour les utilisateurs expérimentés.
- N'exécutez pas de fichier .REG si vous n'êtes pas certain qu'il s'agit d'un fichier d'importation de Registre authentique.
Problème
Le Orion.log fichier enregistre une erreur de garbage collection (GC) :
java.sql.SQLException: java.lang.OutOfMemoryError: GC overhead limit exceeded
Solution
1
Générer une Java Heap dump Lorsqu’ePO rencontre un OutOfMemory erreur dans la Orion.log fichier sur le serveur d’applications ePO. Pour obtenir le vidage, modifiez la manière dont les Tomcat services et Java démarrent :
Définissez la sous-clé Java sur -XX:+HeapDumpOnOutOfMemoryError :
- Cliquez sur Démarrer, Exécuter, tapez regedit , puis cliquez sur OK.
- Accédez à la clé de Registre suivante et développez-la :
32-serveurs bits :
HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\MCAFEETOMCATSRV200\Parameters\Java
64-serveurs bits :
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\MCAFEETOMCATSRV200\Parameters\Java
- Sélectionnez la Java sous-clé.
- Dans le volet de droite, double-cliquez sur le bouton Options valeur et ajouter les données de la valeur ci-dessous au bas :
-XX:+HeapDumpOnOutOfMemoryError
- Cliquez sur Démarrer, Exécuter, type services.msc , puis cliquez sur OK.
- Redémarrez l' Serveur d’applications ePO Imprimeur.
- Si l’erreur se reproduit, exécutez l’outil Minimum Escalation Requirements (MER) pour ePO. De plus, assurez-vous que le Java dump du tas est inclus dans les résultats de la MER.
Pour plus d’informations, voir la section KB72895-Comment collecter un journal des exigences d’escalade minimale pour ePolicy Orchestrator et McAfee Agent.
REMARQUES :
- Par défaut, le vidage du tas est créé dans la racine du répertoire d’installation d’ePO.
- Le fichier est appelé Java_<pid>.hprof , où <pid> est l’ID de processus pour le en cours d’exécution tomcat5.exe traités.
- Sur les systèmes d’exploitation 64 bits, le (*.hprof) fichier de vidage peut être écrit sur le c:\windows\SysWow64\ et non la racine du dossier d’installation d’ePO. Il peut également se trouver dans le server\bin dossier du répertoire d’installation d’ePO.
Solution
2
Générer une Java Heap dump Lorsqu’ePO rencontre un GC overhead limit exceeded erreur dans la Orion.log .har. Pour obtenir le vidage, modifiez la manière dont les Tomcat services et Java démarrent :
Définissez la sous-clé Java sur -XX:+HeapDumpBeforeFullGC :
- Cliquez sur Démarrer, Exécuter, saisissez regedit , puis cliquez sur OK.
- Accédez à la clé de Registre ci-dessous et développez-la :
32-serveurs bits :
HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\MCAFEETOMCATSRV200\Parameters\Java
64-serveurs bits :
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\MCAFEETOMCATSRV200\Parameters\Java
- Sélectionnez le fichier Java appropriée.
- Dans le volet de droite, double-cliquez sur le bouton Options valeur et ajouter les données de la valeur ci-dessous au bas :
-XX:+HeapDumpBeforeFullGC
- Cliquez sur Démarrer, Exécuter, saisissez services.msc, et cliquez sur OK.
- Redémarrez l' ePO Application Server Imprimeur.
- Si l’erreur se reproduit, exécutez l’outil Minimum Escalation Requirements (MER) pour ePO. De plus, assurez-vous que le Java Heap dump est inclus dans les résultats de la mer.
Pour plus d’informations, voir la section KB72895-Comment collecter un journal des exigences d’escalade minimale pour ePolicy Orchestrator et McAfee Agent.
REMARQUES :
- Par défaut, le Heap dump est créé à la racine du répertoire d’installation d’ePO.
- Le fichier est appelé Java_<pid>.hprof , où <pid> est l’ID de processus pour le en cours d’exécution tomcat5.exe traités.
- Sur les systèmes d’exploitation 64 bits, le fichier de vidage ( *.hprof ) peut être écrit dans le c:\windows\SysWow64\ des packages Add-on du serveur. Au lieu de la racine du dossier d’installation d’ePO. Il peut également se trouver dans le server\bin dossier du répertoire d’installation d’ePO.
Solution
3
Générer une Java Heap dump demande d’analyse à la demande à l’aide JMAP de :
- Téléchargez JDK 1.6 le logiciel ou une version ultérieure à partir de http://www.Oracle.com/technetwork/Java/javase/downloads/index.html et installez-le sur votre serveur ePO.
- Téléchargez PSExec à partir de Sysinternals à http://technet.Microsoft.com/en-US /sys Internals/bb897553 et installez-le sur votre serveur ePO.
- Attendez que la condition d’erreur se produise ou effectuez toutes les étapes nécessaires pour la reproduire.
- Ouvrez une invite de commande avec des droits d’administrateur et accédez au répertoire qui contient psexec.exe .
- Exécutez la commande suivante :
psexec -s "<path to JDK installation directory>\ bin\jmap.exe" -dump : format = b, file = Heap.bin <PID for Tomcat>
Exemple :
psexec -s "C:\Program Files (x86)\Java\jdk1.7.0_01\bin\jmap.exe" -dump:format=b,file=heap.bin 3408
Le fichier de vidage du tas se trouve dans :
- 32 bits :
C:\Windows\System32\
- 64 bits
C:\Windows\SysWOW64\
Solution
4
Générer un Java thread dump en utilisant jstack :
- Téléchargez JDK 1.6 le logiciel ou une version ultérieure à partir de http://www.Oracle.com/technetwork/Java/javase/downloads/index.html et installez-le sur votre serveur ePO.
- Télécharger PSExec de Sysinternals à http://technet.Microsoft.com/en-US /sys Internals/bb897553 et installez-le sur votre serveur ePO.
- Attendez que la condition d’erreur se produise ou effectuez toutes les étapes nécessaires pour la reproduire.
- Ouvrez une invite de commande avec des droits d’administrateur et accédez au répertoire qui contient psexec.exe .
- Exécutez la commande suivante :
psexec -s "< chemin d’accès au dossier >\bin\jstack" -l < d’installation JDK PID pour Tomcat > > < chemin d’accès à l’emplacement où vous souhaitez que le fichier >\jstack_output.txt
de sortie
Exemple :
psexec -s "C:\Program Files (x86)\Java\jdk1.7.0_01\bin\jstack.exe" -l 3408 > C:\jstack_output.txt
Solution
5
Générez une ou Java Thread Dump une Java Heap Dump demande à l’aide d’une commande de navigateur :
REMARQUE : Les éléments suivants fonctionnent uniquement avec e PO 5.10 Update 7 ou version ultérieure.
- Accédez au serveur ePO.
- Ouvrez un navigateur Web.
- Collez l’une des commandes suivantes, puis appuyez sur ENTREE :
Pour capturer un Heap Dump , tapez : https://server_name:8443/remote/core.heapDump
Pour capturer un Thread Dump , tapez : https://server_name:8443/remote/core.threadDump
REMARQUES :
- Remplacez server_name par le nom réel du serveur ePO.
- Modifiez le numéro de port si nécessaire. Valeur par défaut : 8443.
- Le Heap dump "hprof" fichier se trouve dans le dossier : ePO_Install_folder>\Server\Logs
Clause d'exclusion de responsabilité
Le contenu du présent article a été rédigé en anglais. En cas de divergences entre la version anglaise et sa traduction, la version en anglais prévaut. Certaines parties de ce contenu ont été traduites par le moteur de traduction automatique de Microsoft.
|