【问题标题】:How to create thread and core dump on JVM crash如何在 JVM 崩溃时创建线程和核心转储
【发布时间】:2020-03-02 13:43:41
【问题描述】:

如何在 JVM 崩溃时创建线程和核心转储?当 JVM 突然崩溃时,是否存在任何 JVM 参数来创建包含这些转储的文件?

就我而言,我需要准备 Java 虚拟机来创建该文件。

【问题讨论】:

  • 正如答案中所说的“如果 JVM 由于其他原因而崩溃,则不需要转储”。此外,当 Oracle JVM 崩溃时,它会自动创建一个日志文件。您究竟想从所谓的“线程和代码转储”中得到什么?
  • 看看this 话题。当 JVM(至少是 HotSpot)崩溃时,它会创建一个致命错误日志(默认路径是 JVM 进程的工作目录)。它包含跟踪错误所需的大量信息,包括堆栈跟踪、线程、堆、操作系统等等。
  • 那么有两个问题。您怎么知道这是 JVM 崩溃而不是其他原因?你确定是热点?无论如何,尝试使用 -XX:OnError 选项运行 JVM 并指定日志路径。如果仍然没有,我真的怀疑问题是由 JVM 崩溃引起的。
  • 可能有很多原因。你说日志突然中断。是否总是相同的最后一条消息?在这种情况下,我会深入研究代码,很可能有一个未捕获的异常导致 JVM 终止。

标签: java jvm diagnostics


【解决方案1】:

如上所述,this is solution for OOM

对于其他致命错误 jvm 提供-XX:OnError 选项。

More information.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多