Als ein WebSphere-Administratorsollten Sie sich bewusst sein, dass Sie Thread-Dumps und Tools verwenden, um diese zu analysieren.
Thread-Dumps werden häufig benötigt, um das Problem der Anwendungsleistung wie Deadlocks, blockierte Threads und Engpässe in Java-Threads zu diagnostizieren.
Taking Thread Dumps in WebSphere
Es wird empfohlen, mehrere Thread-Dumps in 5-8 Sekunden zu erstellen. Sie können eine der folgenden Methoden verwenden, um es zu generieren.
1. Verwenden von wsadmin.sh
- Melden Sie sich bei WAS Server an
- Gehen Sie zu Profil und Bin-Ordner
- Führen Sie die Datei wsadmin.sh aus
[root @ localhost bin] # ./wsadmin.sh WASX7209I: Verbunden mit der Verarbeitung von "dmgr" auf dem Knoten localhostCellManager01 über den SOAP-Connector. Der Prozesstyp ist: DeploymentManager WASX7029I: Geben Sie für Hilfe Folgendes ein: "$ Help help" wsadmin>
- Legen Sie den JVM-Namen in einer Variablen fest
setze jvm [$ AdminControl completeObjectName type = JVM, process =server1, *]
Hinweis: server1 ist zum Beispiel. Ändern Sie dies in Ihren tatsächlichen JVM-Namen.
wsadmin>set jvm [$ AdminControl completeObjectName type = JVM, process = server1, *] WebSphere:name=JVM,process=server1,platform=proxy,node=localhostNode01,j2eeType=JVM,J2EEServer=server1,version=8.5.5.0,type=JVM,mbeanIdentifier=JVM,cell=localhostCell01,spec=1.0 wsadmin>$AdminControl invoke $jvm dumpThreads
Dies generiert einen Thread-Dump und ist unter dem Profilpfad verfügbar.
2. Mit kill
- Suchen Sie die JVM-Prozess-ID mit dem Befehl ps
- Führen Sie kill -3 $ PID aus
# kill -3 $ PID
Sie finden den Speicherauszug im Profilpfad.
3. Verwenden der WebSphere-Verwaltungskonsole
- Melden Sie sich bei DMGR Console an
- Navigieren Sie zur Fehlerbehebung auf der linken Seite
- Wählen Sie die JVM aus und klicken Sie auf "Java Core".
Sobald Sie den Thread-Dump haben, können Sie die folgenden Tools verwenden, um sie zu analysieren.
Analyzing WebSphere Thread Dumps
Das Analysieren von Dumps ist immer eine Herausforderung, und das Befolgen KOSTENLOSER Tools hilft Ihnen dabei.
IBM Thread Dump Analyzer (TDA)
Mit IBM TDA können Sie Hangs, Deadlocks und Engpässe in Java-Threads identifizieren.
Sie können downloaden IBM TDA von hier. Es ist nur die JAR-Datei. Nach dem Herunterladen können Sie Folgendes ausführen, um die GUI zu starten.
java -jar jca457.jar
- Klicken Sie auf Datei >> Thread Dumps öffnen
- Durchsuchen Sie den Ordner und wählen Sie den Speicherauszug aus, den Sie analysieren möchten
Es dauert einige Sekunden, und Sie können die folgende Analyse durchführen
- CPU auslastung
- Speichersegment
- Begrenzung der Benutzerprozessressourcen
- Befehlszeilenargument
- Umgebungsvariable
- Gemeinsamer Klassencache
- Native Erinnerung
- Thread-Status
- Versandart
Alle sind unter der “Analyse" Speisekarte. Ein kurzer Blick auf die Thread-Statusanalyse
Gehen Sie also die Analyse durch, nach der Sie suchen, und haben Sie Spaß mit IBM TDA.
Jetzt sollten Sie in der Lage sein, die Thread-Dumps für die Fehlerbehebung bei Anwendungen zu generieren und zu analysieren. Es gibt mehr Analysator hier erklärt.