Manuelle Erstellung von Heap Dumps
Es gibt mehrere Tools und Möglichkeiten, einen Heap Dump einer laufenden Java-Anwendung manuell zu erstellen. Im Folgenden wird die Erstellung mit den Java Development Kit Tools JMAP und JCMD vorgestellt sowie die Erstellung mit dem GUI-Tool VisualVM.
Voraussetzungen
Der X4 Server läuft im Allgemeinen über einen Java-JDK-Prozess.
Für das Abrufen eines Heap Dumps ist die PID des Prozesses erforderlich. Gehen Sie wie folgt vor:
Starten Sie hierzu den Windows Task-Manager.
Konfigurieren Sie den Windows Task-Manager, so dass die PID und die Befehlszeile als Spalten angezeigt werden. Klicken Sie hierfür mit der rechten Maustaste in die Kopfzeile der Tabelle und aktivieren Sie PID und Befehlszeile:
Nun können Sie die PID auslesen:
Heap Dumps mit Java Development Kit Tools erstellen
Das JDK bietet mehrere Tools zur Erstellung eines Heap-Dumps. Diese Tools sind befehlszeilenbasiert (CLI-basiert).
Mögliche Tools sind JMAP und JCMD.
Sie finden die Tools in folgendem Ordner im JDK, das mit dem Server geliefert wird:
<X4-Installation>\Server\jdk\bin
JMAP
Führen Sie den folgenden Befehl im Ordner
<Serverzeichnis>/jdk/bin
in einer Befehlszeilenschnittstelle (CLI) aus:
jmap -dump:live,format=b,file=/path/to/heapdump.hprof <pid>
Ersetzen Sie die PID mit der PID des X4 Servers, die Sie zuvor mit dem Windows Task-Manager ausgelesen haben.
Tragen Sie in
/path/to/heapdump
den Pfad ein, wo Sie den Heap Dump speichern möchten.
Der Pfad muss bereits existieren.
Wir empfehlen, einen absoluten Pfad zu verwenden.
JCMD
Führen Sie den folgenden Befehl im Ordner
<Serverzeichnis>/jdk/bin
in einer Befehlszeilenschnittstelle (CLI) aus:CODEjcmd <pid> GC.heap_dump /path/to/heapdump.hprof
Ersetzen Sie die PID mit der PID des X4 Servers, die Sie zuvor mit dem Windows Task-Manager ausgelesen haben.
Tragen Sie in
/path/to/heapdump
den Pfad ein, wo Sie den Heap Dump speichern möchten.
Der Pfad muss bereits existieren.
Wir empfehlen, einen absoluten Pfad zu verwenden.
Heap Dumps mit einem GUI-Tool erstellen
Es gibt mehrere GUI-Tools zur Erstellung von Heap Dumps. Wir nutzen im Folgenden VisualVM.
Hinweis: Die Verwendung von VisualVM zur Erstellung eines Heap Dumps von einem X4 Server, der als Dienst installiert ist, kann zu Problemen mit den Zugriffsrechten führen, wenn der Dienst unter einem anderen Benutzer ausgeführt wird, als dem Benutzer, der die VisualVM ausführt.
Im Folgenden zeigen wir Ihnen, wie Sie eine VisualVM zur Erstellung von Heap Dumps verwenden können.
Laden Sie die VisualVM herunter: https://visualvm.github.io/download.html
Starten Sie die Datei
visualvm.exe
imbin
-Ordner des Downloads.Suchen Sie die PID in der Liste der Prozesse:
Doppelklicken Sie auf den Prozess, von dem Sie den Heap Dump erhalten möchten.
Öffnen Sie das Register Monitor.
Klicken Sie auf die Schaltfläche Heap Dump, um einen Heap Dump zu öffnen.
Speichern Sie den Heap Dump, indem Sie ihn in der Prozessliste auf der rechten Seite suchen und mit der rechten Maustaste speichern: