Gibt es Tools, um große Java-Heap-Dumps zu analysieren, ohne die komplette hprof-Datei zu laden?

8

Ich benutze Eclipse MAT, um hprof-Dateien zu analysieren. Es ist sehr gut, aber wenn Sie einen 2Gb-Heap-Dump haben, dann müssen Sie MAT mit einer 2Gb + Heap-Größe selbst ausführen, um den kompletten Heap-Dump laden zu können.

Ich frage mich, ob jemand ein Tool kennt, das eine 2-Gb-hprof-Datei analysieren kann, ohne so viel Speicher selbst zu verwenden (z. B. lädt es nicht die komplette Datei, sondern geht irgendwie durch). Dies wäre nützlich, wenn eine hprof-Datei auf einem Kundenserver generiert wird, da ich dann eine Analyse auf dem Server ausführen kann, anstatt zu versuchen, eine 2-GB-Datei über ein VPN zu kopieren.

    
Mark 25.11.2009, 09:44
quelle

2 Antworten

3

hprof-Dateien haben ein Format, das nicht wirklich gut funktioniert, ohne es vollständig zu laden und anschließend einige Querverweise zu verwenden.

Sie können jedoch den hprof-Dump überspringen, um nur grundlegende Informationen von der laufenden VM zu erhalten, indem Sie jmap , jstack und visualvm im JDK-Paket verwenden. Typische Speicherlecks sollten beispielsweise bereits aus dem Jmap-Heap-Histogramm sichtbar sein, da Sie möglicherweise die Orte erraten, die Objekte erzeugen oder beibehalten, indem Sie nur die Anzahl der Instanzen einer bestimmten Klasse betrachten.

    
ankon 29.11.2009, 17:43
quelle
2

Die neuesten Versionen von YourKit behandeln große Heap-Dumps viel besser als zuvor. Ich hatte einen guten Erfolg und kann es nur empfehlen. Vor langer Zeit gab es ein Werkzeug namens Auptyma von Virag Saksena, aber es scheint, dass es von Oracle gekauft wurde.

    
emmby 26.11.2009 07:51
quelle

Tags und Links