Heim  >  Artikel  >  Java  >  Wie analysiere ich eine Java-Heap-Dump-Datei (hprof) auf einer Mac-Plattform?

Wie analysiere ich eine Java-Heap-Dump-Datei (hprof) auf einer Mac-Plattform?

PHPz
PHPznach vorne
2023-04-20 23:07:072843Durchsuche

Verwenden Sie den jhat-Befehl, der mit jdk geliefert wird.

So drucken Sie Stapelinformationen in die hprof-Datei.

Führen Sie das Programm aus, um VM-Parameter hinzuzufügen:

-XX:+HeapDumpOnOutOfMemoryError # 会打印出现内存溢出异常时,Dump出当前内存堆转存快找以便分析

Schritt 1:

Führen Sie in der Befehlszeilenschnittstelle Folgendes aus Befehl, wobei java_pid73912.hprof Wenn Sie den Befehl für den Dateinamen

jhat java_pid73912.hprof

ausführen, wird

Reading from java_pid73912.hprof...Dump file created Thu Apr 08 22:18:08 CST 2021Snapshot read, resolving...Resolving 818890 objects...Chasing references, expect 163 dots...................................................................................................................................................................Eliminating duplicate references...................................................................................................................................................................Snapshot resolved.Started HTTP server on port 7000Server is ready.

ausgegeben. Wenn Sie Server ist bereit. sehen, können Sie über die IP- und Portadresse darauf zugreifen Browser. Ich bin hier lokal, also ist es localhost:7000Server is ready. 之后,可以通过 ip + port 地址浏览器访问,我这里是本地,所以是 localhost:7000

Wie analysiere ich eine Java-Heap-Dump-Datei (hprof) auf einer Mac-Plattform?

点击Show instance counts for all classes (including platform)会展示包含平台的类的的信息

Wie analysiere ich eine Java-Heap-Dump-Datei (hprof) auf einer Mac-Plattform?

点击Show instance counts for all classes (excluding platform)会展示不包含平台的所有类的信息

Wie analysiere ich eine Java-Heap-Dump-Datei (hprof) auf einer Mac-Plattform?

可以看到我这里占用空间最多的类是 class com.geniu.book.deepinJVM.chapter2.TestHeapOOM$OOMObject

So analysieren Sie die Java-Heap-Hprof-Datei unter einer Mac-Plattform


Klicken Sie auf Instanzanzahl für alle Klassen anzeigen (einschließlich Plattform), um Informationen zu Klassen einschließlich der Plattform anzuzeigen

So analysieren Sie die Java-Heap-Hprof-Datei unter der Mac-Plattform

Klicken Sie auf Anzeigen Instanzanzahl für alle Klassen (ohne Plattform) code> zeigt Informationen zu allen Klassen an, die die Plattform nicht enthalten

Wie wäre es mit der Analyse der Java-Heap-hprof-Datei auf der Mac-Plattform

🎜Sie können sehen, dass die Klasse, die hier den meisten Platz einnimmt, class com.geniu.book.deepinJVM ist .chapter2.TestHeapOOM$OOMObject mit mehr als 800.000 Instanzen. 🎜🎜🎜Auf diese Weise können Sie die Objekte im Speicher analysieren und ungewöhnliche Situationen analysieren, wenn ein Speicherüberlauf auftritt. 🎜🎜🎜Andere Vorschläge: 🎜🎜1) Verwenden Sie das Ideen-Plug-in JProfiler🎜🎜2) minidump_stackwalk-Tool, das Dump-Dateien lesen kann🎜

Das obige ist der detaillierte Inhalt vonWie analysiere ich eine Java-Heap-Dump-Datei (hprof) auf einer Mac-Plattform?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen