Skip to main content
Skip table of contents

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:

  1. Starten Sie hierzu den Windows Task-Manager.

  2. 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:

    image-20240528-134038.png

  3. Nun können Sie die PID auslesen:

    image-20240528-134155.png

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:

CODE
<X4-Installation>\Server\jdk\bin

JMAP

  1. Führen Sie den folgenden Befehl im Ordner <Serverzeichnis>/jdk/bin in einer Befehlszeilenschnittstelle (CLI) aus:

CODE
jmap -dump:live,format=b,file=/path/to/heapdump.hprof <pid>
  1. Ersetzen Sie die PID mit der PID des X4 Servers, die Sie zuvor mit dem Windows Task-Manager ausgelesen haben.

  2. 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

  1. Führen Sie den folgenden Befehl im Ordner <Serverzeichnis>/jdk/bin in einer Befehlszeilenschnittstelle (CLI) aus:

    CODE
    jcmd <pid> GC.heap_dump /path/to/heapdump.hprof
  2. Ersetzen Sie die PID mit der PID des X4 Servers, die Sie zuvor mit dem Windows Task-Manager ausgelesen haben.

  3. 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.

  1. Laden Sie die VisualVM herunter: https://visualvm.github.io/download.html

  2. Starten Sie die Datei visualvm.exe im bin-Ordner des Downloads.

  3. Suchen Sie die PID in der Liste der Prozesse:

    image-20240528-142933.png

  4. Doppelklicken Sie auf den Prozess, von dem Sie den Heap Dump erhalten möchten.

  5. Öffnen Sie das Register Monitor.

  6. Klicken Sie auf die Schaltfläche Heap Dump, um einen Heap Dump zu öffnen.

  7. Speichern Sie den Heap Dump, indem Sie ihn in der Prozessliste auf der rechten Seite suchen und mit der rechten Maustaste speichern:

    image-20240528-143748.png

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.