使用 HeapDumpOnOutOfMemoryError 参数进行 JBoss 的堆转储

新手上路,请多包涵

有人告诉我,当我们的应用程序出现内存不足错误时,我可以将 -XX:+HeapDumpOnOutOfMemoryError 参数添加到我的 JVM 启动选项到我的 JBoss 启动脚本中以获取堆转储。我想知道这些数据在哪里被转储?它只是到控制台,还是到某个日志文件?如果只是到控制台,如果我没有通过控制台登录到Unix服务器怎么办?

原文由 EdC 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 714
1 个回答

以下是 Oracle 文档 的内容:

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

原文由 Matt Solnit 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题