Java >> Java tutorial >  >> Java

Brug af HeapDumpOnOutOfMemoryError-parameter til heap-dump for JBoss

Her er, hvad Oracles dokumentation har at sige:

Som standard oprettes heap-dumpen i en fil kaldet java_pid .hprof i VM'ens arbejdsbibliotek, som i eksemplet ovenfor. Du kan angive et alternativt filnavn eller bibliotek med -XX:HeapDumpPath= mulighed. Eksempelvis -XX:HeapDumpPath=/disk2/dumps vil få heap-dumpen til at blive genereret i /disk2/dumps bibliotek.


Du kan se dette dump fra UNIX-konsollen.

Stien til heap-dumpet vil blive angivet som en variabel lige efter, hvor du har placeret den nævnte variabel.

F.eks.:

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${DOMAIN_HOME}/logs/mps"

Du kan se dumpet fra konsollen på den nævnte sti.


Jeg fandt det svært at tyde, hvad der menes med "arbejdsmappe for VM'en". I mit eksempel brugte jeg Java Service Wrapper-programmet til at udføre en jar - dumpfilerne blev oprettet i det bibliotek, hvor jeg havde placeret wrapperprogrammet, f.eks. c:\minapp\bin. Grunden til, at jeg opdagede dette, er, at filerne kan være ret store, og de fyldte harddisken, før jeg opdagede deres placering.


Java tag