Java VisualVM Aktivieren Heap-Dump auf OOME
Laut Dokumentation könnte man, nimmt man automatisch einen heap-dump, wenn die Anwendung auf eine OutOfMemoryException.
Nach OutOfMemoryException Prozess nur verschwinden aus dem linken Menü.
Wie funktioniert dieses feature funktioniert in VisualVM?
Dank.
C:\work\temp>java -XX:HeapDumpPath=c:/Arbeit/temp/Datei.hprof -XX:+HeapDumpOnOutOfMemoryError -jar example.jar
Sie können die analyse der heap-dump, nachdem das Programm beendet wurde.
Wo könnte ich es finden (heap dump)? Nach der Generierung von hand erscheinen unter "verarbeiten" im Menü Links. Nach "automatische dump' - checkbox aktiviert ist, passiert nichts.
In der Regel, die das Arbeitsverzeichnis der Anwendung.
Wo könnte ich es finden (heap dump)? Nach der Generierung von hand erscheinen unter "verarbeiten" im Menü Links. Nach "automatische dump' - checkbox aktiviert ist, passiert nichts.
In der Regel, die das Arbeitsverzeichnis der Anwendung.
InformationsquelleAutor Mykhaylo Adamovych | 2011-11-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Soweit ich weiß, wird diese option in JVisualVM ist äquivalent zu
-XX:+HeapDumpOnOutOfMemoryError
als JVM-parameter. Dies bewirkt, dass die JVM zu erstellen, einen heap-dump-Datei, wenn es auf ein OutOfMemoryError. Diese Datei kann dann geladen JVisualVM (oder in ein profiler) und analysiert es. Das Verzeichnis, wo die Datei gespeichert ist, ist definiert durch die-XX:HeapDumpPath
parameter.Siehe auch:
InformationsquelleAutor Eli Acherkan
Scheint die Anwendung nur verlassen auf OOM. In diesem Fall müssen Sie führen Sie Ihre app mit speziellen
-XX
params. Finden Sie unter "dump" params in JVM-Dokumentation. Nach der Anwendung stirbt, können Sie prüfen, dump in Ihrem tool.Ich denke, VisualVM kann einfach nicht zurechtkommen mit der Anwendung, die gehen, um zu beenden.
Niedrige Werkzeug-Qualität, wie für mich. Ich würde erwarten, dass Sie logisch, um zu zeigen, snapshot im gleichen Ort unabhängig-Prozess ausführen, um liveness.
Und Fehler in der Dokumentation. Sofern
-XX:-HeapDumpOnOutOfMemoryError
funktioniert aber nur mit-XX:+HeapDumpOnOutOfMemoryError
Ich fand es sehr unuseful zu entfernen app Knoten aus der Liste der Prozesse auf den Prozess zu beenden. Nach OOM passiert, können Sie analysieren heap-dump-Datei mit dem Eclipse Memory Analyzer.
InformationsquelleAutor Victor Sorokin