Speicherauszüge von Threads in Serverprozessen mit Scripting erstellen

Verwenden Sie das Objekt "AdminControl", um einen Java-Core-Dump zu erstellen, der die Java-Threads eines aktiven Servers enthält.

Vorbereitende Schritte

Damit diese Task gestartet werden kann, muss das Tool "wsadmin" aktiv sein. Weitere Informationen finden Sie im Artikel wsadmin-Scripting-Client mit wsadmin-Scripting starten.

Informationen zu diesem Vorgang

[z/OS]Der Befehl "dumpThreads" generiert einen Java-Heapspeicherauszug, einen TDUMP (Java Virtual Machine (JVM) Initiated System Transaction Dump) und einen Auszug des Java-Kernspeichers (auch Java-Core-Dump genannt).

  • Ein Java-Heapspeicherauszug enthält alle Liveobjekte im Java-Heapspeicher, die von der aktiven Java-Anwendung verwendet werden.
  • A System-TDUMP enthält den Inhalt aller fehlerhaften Adressräume.
    Fehler vermeiden Fehler vermeiden: Unter bestimmten Umständen kann der Prozess für die Erkennung blockierter Thread häufig ausgelöst werden, was dazu führt, dass System-TDUMPs gestartet werden. Diese Speicherauszüge können umfangreich sein, und ihre Verarbeitung kann mehrere Minuten dauern. Während der Verarbeitung der Speicherauszüge ist der Adressraum des Servers nicht zuteilbar, was die Haltezeit von Sperren, deren Eigner der Adressraum ist, verlängern kann. Wenn Ihr Server gemeinsam genutzte Subsysteme wie DB2 oder WebSphere MQ verwendet, kann sich die längere Haltezeit der Sperren nachteilig auf diese gemeinsam genutzten Subsysteme und andere Adressräume auswirken, die diese Subsysteme ebenfalls nutzen. Sollten Sie feststellen, dass Threads häufig blockieren, können Sie die Erstellung von System-TDUMPs in dem Anwendungsserver, in dem die blockierten Threads auftreten, inaktivieren.gotcha
  • ein Java-Core-Dump enthält den gesamten Hauptspeicher, der von der JVM verwendet wird, sowie den Status aller Threads in den Serverprozessen.

[z/OS]Wenn Sie die Generierung des Heapspeicherauszugs inaktivieren möchten, setzen Sie die Umgebungsvariable "wsadmin_dumpthreads_enable_heapdump" awuf 0. Wenn Sie die Generierung des f you want to disable the generation System-TDUMP inaktivieren möchten, setzen Sie die Umgebungsvariable "wsadmin_dumpthreads_enable_javatdump" auf 0. Sie können diese Variablen auf Knoten- oder Zellenebene definieren.

Vorgehensweise

Setzen Sie einen der folgenden Befehle ab, um einen Auszug des Java-Kernspeichers zu erzeugen.
  • Mit Jacl:
    set jvm [$AdminControl completeObjectName type=JVM,process=server1,*]
    $AdminControl invoke $jvm dumpThreads 
  • Mit Jython:
    jvm = AdminControl.completeObjectName('type=JVM,process=server1,*')
    AdminControl.invoke(jvm, 'dumpThreads')

    [z/OS]Sie können auch den Befehl "Modify" verwenden, um einen Java-Kernspeicherauszug zu erstellen, wenn eine Zeitlimitüberschreitung auftritt.

    [z/OS]Nähere Informationen zu den Umgebungsvariablen für die Erstellung von Threadspeicherauszügen finden Sie in der Veröffentlichung Java Diagnostics.

Anmerkung: Der Befehl "dumpThreads" erstellt ja nach Einstellungen für "-Xdumps" unterschiedliche Typen von Speicherauszugsdateien. Die Speicherauszugsausgabe variiert je nach Plattform und kann Systemkerndateien, Heap- und Kurzspeicherauszüge enthalten.

Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=txml_dump
Dateiname:txml_dump.html