2012-03-27 5 views
1

Beitrag Ich kämpfe Permgen Memory Leak Bug. Ich bin nur sehr eingeschränkt in der Lage, das laufende System zu überprüfen, weshalb ich gezwungen bin, durch den Quellcode zu wandern. Um den Suchbereich zu reduzieren, möchte ich nur Methoden finden, die (wahrscheinlich) Speicher aus der Permgen-Region konsumieren.Überprüfen Sie, ob Methode Permgen Speicher

z. Ich habe Root-Methoden festgelegt, die definitiv aufgerufen werden. Von diesem Satz muss ich Pfad zu Methoden finden, die wahrscheinlich Speicher von Permgen-Region verbrauchen (d. H. String.intern() wird usw. aufgerufen). Gegenwärtig stehe ich vor zwei Problemen: Wie kann man feststellen, ob die Methode Permgen-Speicherplatz verbraucht, und zweitens - wie kann ich durch den Byte-Code gehen, um dem Ausführungspfad zu folgen?

Danke ist Fortschritt, jede Information wird geschätzt!

Antwort

2

Ein besserer Ansatz wäre, einen Speicherabbild zu erstellen und dann Eclipse Memory Analyzer zu verwenden, um zu untersuchen, welche Klassendefinitionen und Zeichenfolgen im PermGen-Bereich Platz beanspruchen.

Sie können auch die folgenden Flags hinzufügen -XX: + CMSClassUnloadingEnabled -XX: + CMSPermGenSweepingEnabled, um das Durchblättern des PermGen-Bereichs zu aktivieren.

Verwandte Themen