Sommario:

Come faccio a visualizzare un dump dell'heap?
Come faccio a visualizzare un dump dell'heap?

Video: Come faccio a visualizzare un dump dell'heap?

Video: Come faccio a visualizzare un dump dell'heap?
Video: La mia esperienza con un memory leak - heapdump e logging del Garbage Collector - Java EE 2024, Novembre
Anonim

Se hai un dump dell'heap file salvato sul tuo sistema locale, puoi aprire il file in Java VisualVM scegliendo File > Carica dal menu principale. Java VisualVM può aprire discariche di cumuli salvato in. formato file hprof. Quando apri un salvataggio dump dell'heap , il discarica dell'heap si apre come una scheda nella finestra principale.

Allo stesso modo, come faccio a fare un dump dell'heap?

Esistono diversi modi per generare un dump heap java:

  1. Utilizzare l'opzione jmap -dump per ottenere un dump dell'heap in fase di esecuzione;
  2. Utilizzare l'opzione jconsole per ottenere un dump dell'heap tramite HotSpotDiagnosticMXBean in fase di esecuzione;
  3. Il dump dell'heap verrà generato quando viene generato OutOfMemoryError specificando l'opzione -XX:+HeapDumpOnOutOfMemoryError VM;
  4. Usa hprof.

Sapete anche che cos'è il dump dell'heap? UN discarica dell'heap è un'istantanea della memoria di un processo Java™. L'istantanea contiene informazioni sugli oggetti e le classi Java nel mucchio nel momento in cui l'istantanea viene attivata. Caricatore di classe, nome, superclasse e campi statici. Radici della raccolta dei rifiuti. Oggetti definiti per essere raggiungibili dalla JVM.

Qui, come si analizza una perdita di memoria per il dump dell'heap?

Per rintracciare un perdita di memoria , avrai bisogno di un " discarica dell'heap " con un riepilogo degli oggetti vivi in un processo che perde. Per registrare a scarico , prima esegui jps per trovare il PID del processo, quindi esegui jmap - scarico :live, format=b, file=(dumpfile) (pid).

Perché viene generato il dump dell'heap?

La JVM genera il Discarica dell'heap file nel percorso file specificato. A volte potremmo richiedere Discarica dell'heap su richiesta. Per risolvere il problema del consumo di memoria, richiediamo Discarica dell'heap . Se non hai specificato HeapDumpPath, allora JVM genera il file in cui è in esecuzione il processo JAVA.

Consigliato: