Wie erstelle ich einen Heap-Dump mit nur einer JRE?

8

Wir haben eine JRE in unserer Produktionsumgebung installiert, aber kein JDK. Die Versionen von JRE und OS sind unten aufgeführt.

%Vor%

Es scheint nicht so, als wäre das "jmap" -Tool irgendwo auf dem System vorhanden, und ohne Root-Zugriff bin ich nicht in der Lage, es an irgendeinem Systemstandort zu installieren. Was kann ich tun, um einen Heap-Dump (d. H. Eine .hprof-Datei) zu erstellen?

Außerdem verwenden wir JBoss 7.1.3.AS, wenn das wichtig ist.

    
Dave 13.06.2014, 20:37
quelle

2 Antworten

7

Integrierte Tools wie jmap , jconsole und jvisualvm sind nur in einem JDK verfügbar. Eine weitere Option ist das Hinzufügen des VM-Arguments -XX:+HeapDumpOnOutOfMemoryError , das der JVM mitteilt, dass bei Auftreten eines OutOfMemoryError automatisch ein Heap-Dump und das Argument -XX:HeapDumpPath den Pfad für den Heap-Dump angibt.

Wenn Sie Ihre JRE nicht auf Tools wie die im JRE 7 des Servers aktualisieren können ( Ссылка ), müssen Sie möglicherweise Drittanbieter-Profiling-Tools wie JProfiler berücksichtigen oder die Liste hier .

    
manouti 13.06.2014 20:42
quelle
0

Der einzige Weg scheint zu sein, Ihr lokales SDK6 zu komprimieren und irgendwo auf den Server zu stellen. Öffnen Sie dann eine Remote-Konsole und laden Sie die JRE aus dem Verzeichnis bin des SDK.

Wenn Ihr Kunde das Hochladen von ausführbaren Dateien verbietet, haben Sie natürlich kein Glück.

    
jhunovis 22.08.2014 06:43
quelle

Tags und Links