3 Stimmen

Bei der Analyse eines Java-Heap-Dumps geht der Speicher zur Neige

Ich habe ein neugieriges Problem, ich brauche einen Java-Heap-Dump (von einem IBM JRE) zu analysieren, die 1,5 GB groß ist, das Problem ist, dass während der Analyse des Dump (ich habe versucht HeapAnalyzer und die IBM Memory Analyzer 0.5 ) der Speicher des Tools erschöpft ist, kann ich den Dump nicht wirklich analysieren. Ich habe 3 GB RAM in meinem Rechner, aber das scheint nicht genug zu sein, um den 1,5-GB-Dump zu analysieren,

Meine Frage ist, kennen Sie ein spezielles Tool für die Heap-Dump-Analyse (mit Unterstützung von IBM JRE-Dumps), das ich mit der Menge an Speicher ausführen könnte, die ich habe?

Danke.

4voto

Amir Afghani Punkte 36713

Versuchen Sie es mit dem SAP Memory Analyzer Tool, das auch eine Eclipse-Version hat Plugin . Dieses Tool erstellt Indexdateien auf der Festplatte, während es die Dump-Datei verarbeitet, und benötigt viel weniger Speicher als Ihre anderen Optionen. Ich bin mir ziemlich sicher, dass es die neueren IBM JREs unterstützt. Abgesehen davon - bei einer 1,5 GB großen Dump-Datei haben Sie vielleicht keine andere Möglichkeit, als eine 64-Bit-JVM laufen zu lassen, um diese Datei zu analysieren - ich schätze normalerweise, dass eine Heap-Dump-Datei der Größe n nimmt 5*n Speicher mit Standardwerkzeugen zu öffnen, und 3*n Speicher mit MAT zu öffnen, aber je nachdem, was der Dump tatsächlich enthält, werden Sie unterschiedlich weit kommen.

1voto

Ram Lakshmanan Punkte 81

Es wird schwierig sein, einen 1,5 GB großen Heap-Dump auf einem 3 GB großen RAM zu analysieren. Denn in diesen 3 GB würden Ihr Betriebssystem, andere Prozesse, Dienste,... leicht 0,5 GB einnehmen. Es bleiben also nur 2,5 GB übrig. heapHero ist ein effizientes Werkzeug zur Analyse von Heap-Dumps. Es sollte nur 0,5 GB mehr als die Größe des Heap-Dumps benötigen, um ihn zu analysieren. Sie können es ausprobieren. Die beste Empfehlung ist jedoch, den Heap-Dump auf einem Rechner zu analysieren, der über ausreichend Arbeitsspeicher verfügt ODER Sie können eine AWS ec2-Instanz nur für den Zeitraum der Analyse von Heap-Dumps erhalten. Nach der Analyse der Heap-Dumps können Sie die Instanz beenden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X