2010-12-25 8 views
3

ich eine Memory Dump-Datei und jhat gibt die folgende Meldung und ich kann nichts analysieren (wie keine Daten angezeigt werden.jhat kann nicht ein Speicherabbild analysiert

Resolving 0 objects... 

WARNING: hprof file does not include java.lang.Class! 

WARNING: hprof file does not include java.lang.String! 

WARNING: hprof file does not include java.lang.ClassLoader! 

Bedeutet dies die Hprof Datei unvollständig oder beschädigt ?

ich bin mit
-XX:+HeapDumpOnOutOfMemoryError" Option in meinem Kater.

+0

Haben Sie versucht, diesen Dump mit einem anderen Profiler zu öffnen (z. B. YourKit?) – mindas

+0

yourkit ist nicht kostenlos, kann es sich nicht leisten, es zu kaufen. – sheki

+0

YourKit hat eine Testversion, die Sie für 30 Tage (oder so) verwenden können. Probieren Sie das zuerst aus. – kevinarpe

Antwort

4

ich auf dieses gleiche Problem mit meinem eigenen Heapdump kam gerade.

  • jhat zeigt die Warnungen, die Sie beschreiben, und es gibt keine Nutzdaten angezeigt
  • Eclipse-MAT beschwert sich über ein NullPointerException
  • VisualVM kann nicht die Heap Dump-Datei öffnen auf allen

Es sieht aus wie Dies ist der Fall, wenn zu dem Zeitpunkt, zu dem der Heapspeicherauszug freigegeben wird, nicht genügend Speicherplatz vorhanden ist, sodass die Datei tatsächlich unvollständig/beschädigt ist.

http://forums.oracle.com/forums/thread.jspa?threadID=1175621&tstart=135

0

Ich habe das gleiche Problem heute. Zur Klarstellung verwende ich die Option heap=sites, die sich von einem Speicherabbild unterscheidet. Ich bekomme auch die gleichen Nachrichten von jhat und jvisualvm. Es ist möglich, dass jhat das Lesen von HPROF Dateien, die vom heap=sites-Modus erstellt wurden, nicht unterstützt.

Verwandte Themen