【问题标题】:Dump Java heap shortly before OutOfMemoryException? [duplicate]在 OutOfMemoryException 之前不久转储 Java 堆? [复制]
【发布时间】:2012-12-08 11:57:04
【问题描述】:

可能重复:
Java VisualVM Enable Heap Dump on OOME

我有一个应用程序由于 OOME 而崩溃。我想在应用程序崩溃前不久创建一个堆的转储文件。我之前用jdump在运行了几个小时后分析了堆,但没有发现任何可疑之处。我可以在一些 Eclipse 分析器中运行该应用程序。是否有某种方法可以在 OOME 被抛出到具有正常(或 jdk)安装的服务器上之前不久创建堆转储?

【问题讨论】:

    标签: java out-of-memory profiling heap-memory


    【解决方案1】:

    你可以使用-XX:+HeapDumpOnOutOfMemoryError

    【讨论】:

      【解决方案2】:

      如果您真的想在内存不足之前转储堆,您可以添加一个工作线程来定期轮询内存使用情况(请参阅freeMemory)。当您开始耗尽内存时,您转储堆。

      请参阅https://blogs.oracle.com/sundararajan/entry/programmatically_dumping_heap_from_java,了解如何从您的应用程序中转储堆。

      【讨论】:

        猜你喜欢
        • 2016-10-07
        • 2011-06-07
        • 2011-06-08
        • 2012-12-01
        • 2012-09-25
        • 2011-10-09
        • 2017-04-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多