Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it possible to specify where JVM's crash dumps go?

We have a desktop application using JNI that occasionally causes the JVM to crash. Luckily the JVM produces a hs_err_pidXXXX.log file, which is quite useful in debugging such errors. However, it always seems to go to the current working directory, and it's annoying to dig it from there, since our other log files all go to a specific "log file place".

Is it possible to specify different location for those "crash dump" files? How?

like image 470
Joonas Pulakka Avatar asked Dec 10 '09 10:12

Joonas Pulakka


2 Answers

Joonas,

Although the HeapDumpPath works for the heap dump it is not the answer for your question. The heap dump and the jvm crash log are two separate things.

To change the destination of the jvm crash log run java with this option:

-XX:ErrorFile=/path/to/file.

Path/to/file is the place you want the JVM crash log to output.

like image 179
Andrew Carr Avatar answered Oct 19 '22 15:10

Andrew Carr


By default the heap dump is created in a file called java_pidpid.hprof in the working directory of the VM. You can specify an alternative file name or directory with the -XX:HeapDumpPath= option. For example -XX:HeapDumpPath=/disk2/dumps will cause the heap dump to be generated in the /disk2/dumps directory.

like image 31
Schildmeijer Avatar answered Oct 19 '22 17:10

Schildmeijer