是否可以指定JVM的崩溃转储的位置?

时间:2009-12-10 10:49:21

标签: jvm logging java crash-dumps

我们有一个使用JNI的桌面应用程序偶尔会导致JVM崩溃。幸运的是,JVM生成了一个hs_err_pidXXXX.log文件,这在调试此类错误时非常有用。但是,它似乎总是转到当前的工作目录,从那里挖掘它很烦人,因为我们的其他日志文件都转到特定的“日志文件位置”。

是否可以为这些“崩溃转储”文件指定不同的位置?怎么样?

2 个答案:

答案 0 :(得分:14)

Joonas,

虽然HeapDumpPath适用于堆转储,但它不是您问题的答案。堆转储和jvm崩溃日志是两个不同的东西。

要使用此选项更改jvm崩溃日志的目标,请运行java:

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

Path / to / file是您希望JVM崩溃日志输出的位置。

答案 1 :(得分:8)

默认情况下,堆转储是在VM的工作目录中名为 java_pidpid.hprof 的文件中创建的。您可以使用 -XX:HeapDumpPath = 选项指定备用文件名或目录。例如, -XX:HeapDumpPath = / disk2 / dumps 将导致在 / disk2 / dumps 目录中生成堆转储。