【发布时间】:2012-09-18 20:33:55
【问题描述】:
在 Linux 上使用-XX+HeapDumpOnOutOfMemoryError 时,生成的 hprof 文件归运行 java 进程的用户所有,权限为 600。
我知道这些权限在安全方面是最好的,但是否可以覆盖它们?
【问题讨论】:
-
有人有解决办法吗?
在 Linux 上使用-XX+HeapDumpOnOutOfMemoryError 时,生成的 hprof 文件归运行 java 进程的用户所有,权限为 600。
我知道这些权限在安全方面是最好的,但是否可以覆盖它们?
【问题讨论】:
你可以用
启动JVMjava -XX:+HeapDumpOnOutOfMemoryError -XX:OnOutOfMemoryError="chmod g+r java_pid*.hprof" {mainclass} {args}
该命令在堆转储创建后运行。例如,这将允许对当前目录中的所有堆转储文件进行组读取访问。
【讨论】:
-XX:OnOutOfMemoryError 参数不适用于 JRE 7(1.7.0_72) 上的命令中的空格。但是指向一个shell脚本(没有空格)可以。示例:
-XX:OnOutOfMemoryError="/path/to/shell/script.sh"
【讨论】: