Inhaltsverzeichnis:

Wie kann ich einen Heap-Dump anzeigen?
Wie kann ich einen Heap-Dump anzeigen?

Video: Wie kann ich einen Heap-Dump anzeigen?

Video: Wie kann ich einen Heap-Dump anzeigen?
Video: Ich kann das alles nicht mehr | 3 schäbige Horrorspiele 2024, Kann
Anonim

Wenn du eine hast Haufen Dump Datei, die auf Ihrem lokalen System gespeichert ist, können Sie die Datei in Java VisualVM öffnen, indem Sie im Hauptmenü Datei > Laden wählen. Java VisualVM kann geöffnet werden Haufen Dumps gespeichert im. hprof-Dateiformat. Wenn Sie ein gespeichertes öffnen Haufen Dump , das Haufen Dump öffnet sich als Registerkarte im Hauptfenster.

Wie erstelle ich ähnlich einen Heap-Dump?

Es gibt mehrere Möglichkeiten, einen Java-Heap-Dump zu erstellen:

  1. Verwenden Sie die Option jmap -dump, um zur Laufzeit einen Heap-Dump zu erhalten;
  2. Verwenden Sie die Option jconsole, um einen Heap-Dump über HotSpotDiagnosticMXBean zur Laufzeit zu erhalten;
  3. Heap-Dump wird generiert, wenn OutOfMemoryError durch Angabe der VM-Option -XX:+HeapDumpOnOutOfMemoryError ausgelöst wird;
  4. Verwenden Sie hprof.

Wissen Sie auch, was Heap-Dump ist? EIN Haufen Dump ist eine Momentaufnahme des Speichers eines Java™-Prozesses. Der Snapshot enthält Informationen zu den Java-Objekten und -Klassen im Haufen in dem Moment, in dem der Snapshot ausgelöst wird. Klassenlader, Name, Superklasse und statische Felder. Wurzeln der Müllabfuhr. Objekte, die von der JVM als erreichbar definiert sind.

Wie analysieren Sie hier einen Speicherverlust für Heap-Dump?

Um a. aufzuspüren Speicherleck , du brauchst ein " Haufen Dump " mit einer Zusammenfassung der Live-Objekte in einem undichten Prozess. Aufzeichnen a entsorgen , führen Sie zuerst jps aus, um die PID des Prozesses zu finden, und führen Sie dann jmap aus - entsorgen :live, format=b, file=(dumpffile) (pid).

Warum wird ein Heap-Dump erzeugt?

Die JVM erzeugt das Haufen Dump Datei im angegebenen Dateipfad. Manchmal benötigen wir möglicherweise Haufen Dump auf Abrufbasis. Um den Speicherverbrauch zu beheben, benötigen wir Haufen Dump . Wenn Sie den HeapDumpPath nicht angegeben haben, wird die JVM erzeugt die Datei, in der der JAVA-Prozess ausgeführt wird.

Empfohlen: