【问题标题】:Can you override the file permissions for the heap dump produced by -XX+HeapDumpOnOutOfMemoryError?你能覆盖 -XX+HeapDumpOnOutOfMemoryError 产生的堆转储的文件权限吗?
【发布时间】:2012-09-18 20:33:55
【问题描述】:

在 Linux 上使用-XX+HeapDumpOnOutOfMemoryError 时,生成的 hprof 文件归运行 java 进程的用户所有,权限为 600。

我知道这些权限在安全方面是最好的,但是否可以覆盖它们?

【问题讨论】:

  • 有人有解决办法吗?

标签: java jvm


【解决方案1】:

你可以用

启动JVM
java -XX:+HeapDumpOnOutOfMemoryError -XX:OnOutOfMemoryError="chmod g+r java_pid*.hprof" {mainclass} {args}

该命令在堆转储创建后运行。例如,这将允许对当前目录中的所有堆转储文件进行组读取访问。

【讨论】:

    【解决方案2】:

    -XX:OnOutOfMemoryError 参数不适用于 JRE 7(1.7.0_72) 上的命令中的空格。但是指向一个shell脚本(没有空格)可以。示例:

    -XX:OnOutOfMemoryError="/path/to/shell/script.sh"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-14
      • 1970-01-01
      • 1970-01-01
      • 2012-09-25
      • 2010-10-07
      • 2016-11-30
      • 2022-11-25
      • 1970-01-01
      相关资源
      最近更新 更多