Standardmäßig wird der Heap-Dump in einer Datei namens java_pidpid erstellt. hprof im Arbeitsverzeichnis der VM, wie im obigen Beispiel. Mit der Option -XX:HeapDumpPath=können Sie einen alternativen Dateinamen oder ein alternatives Verzeichnis angeben.
Wo befindet sich die Heap-Dump-Datei?
Der Speicherort variiert je nach Umgebung, aber normalerweise erscheinen diese Dateien entweder in: C:\Windows\System32. oder C:\Windows\SysWOW64.
Wann wird ein Heap-Dump erstellt?
Ab Version 20180917 wird automatisch ein Heap-Memory-Dump erstellt, wenn ein Speicherfehler auftritt (Der Parameter -XX:+ HeapDumpOnOutOfMemoryError wird zur Datei conf /jvm.
Wie bekomme ich einen Heap-Dump unter Linux?
Für Linux-Rechner können Sie Befehlsvarianten wie ps -A | verwenden grep java oder netstat -tpln | grep java oder top | grep java, hängt von Ihrer Anwendung ab. Dann können Sie den Befehl wie jmap -dump:format=b, file=sample_heap_dump. hprof 1234 verwenden, wobei 1234 die PID ist.
Wie erh alten Sie einen Heap-Dump bei Outofmemoryerror?
Um sicherzustellen, dass ein Heap-Dump auf OOM für Clarity generiert wird:
- Mit CSA verbinden (oder Eigenschaften.xml für jeden Server im Cluster öffnen):
- Fügen Sie die folgende Argumentzeichenfolge in den JVM-Parametern des App-Dienstes oder/und des bg-Dienstes hinzu: -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=\. hprof.
- Starten Sie die Dienste neu.