如何设置jvm崩溃日志文件的位置
Posted
技术标签:
【中文标题】如何设置jvm崩溃日志文件的位置【英文标题】:how to set location of jvm crash log files 【发布时间】:2011-12-21 22:54:14 【问题描述】:我需要配置创建 jvm 崩溃日志的位置。我喜欢它们的名称 (hs_err_pid.log),但我希望它们在特定文件夹中创建。
在here可以看到可以使用
-XX:ErrorFile=./hs_err_pid<pid>.log
param 设置创建的 FILE,但是如果你将它设置为一个文件夹,那么文件是在该文件夹中使用原始命名约定创建的,它不起作用,它被忽略。
我一直在通过从this questions 崩溃 jvm 1.6 来测试这个,使用这个: PathDasher dasher = new PathDasher(null) ;
有人知道实现这一点的方法吗?
【问题讨论】:
***.com/questions/1880166/… 【参考方案1】:-XX:ErrorFile=/var/log/java/hs_err_pid%p.log
有效。
见http://www.oracle.com/technetwork/java/javase/felog-138657.html
该参数不允许使用环境变量,但您可以在启动器脚本(例如 .sh 或 .bat)中使用环境变量,操作系统会进行替换。但是,这将在启动 JVM 时使用环境变量的值,而不是在以后写入文件时。此外,在 Eclipse 中设置 Run 属性时,环境变量不起作用。
JVM 不会创建保存故障转储的中间目录。如果指定的文件夹不存在,故障转储将保存在默认位置。
【讨论】:
如何通过java运行这样的命令?我通过 cmd 尝试过,但没有成功【参考方案2】:你必须把它当作
java -XX:ErrorFile=/var/log/java/hs_err_pid%p.log -Xbootclasspath/p:.崩溃
在命令提示符下。 这里,Crash 是我的 java 文件。
【讨论】:
以上是关于如何设置jvm崩溃日志文件的位置的主要内容,如果未能解决你的问题,请参考以下文章