【问题标题】:When does JVM produce dumps, other than out of memoryJVM什么时候产生转储,除了内存不足
【发布时间】:2010-04-13 09:07:23
【问题描述】:

我现在需要知道 jvm 何时产生 hprof 转储,而不是内存不足的情况。 例如,当 cpu 使用率很高时它会产生 hprof 吗? 我看到 hprof 文件生成并且没有内存不足的情况。

【问题讨论】:

  • 您是否尝试过分析 hprof 数据?

标签: java crash-dumps


【解决方案1】:

我只会在内存不足时“自动”生成堆转储,并且如果它被配置为在启动时这样做(例如 -XX:-HeapDumpOnOutOfMemoryError 用于 sun JVM)...

但您也可以向 JVM 发送信号以请求在 solaris 上进行转储(例如 kill -Quit pid)...

所以它取决于操作系统和 JVM,但可以要求转储...

【讨论】:

  • 转储在 solaris 上,但我有一个 70mb 的转储,其中最大堆大小为 1 GB。此外,转储看起来不像是内存不足转储。而且没有人要求转储。
【解决方案2】:

此外,当本机库抛出异常时,JVM 会创建核心转储。

【讨论】:

  • 我不是指核心转储。我有一个 80 mbs 的 _pid.hprof 转储,最大堆大小为 1 gb。我在转储上看不到内存不足的情况。一定有别的东西。
【解决方案3】:

启动应用程序时传递了哪些命令行 JVM 选项?有许多 HPROF 选项;有些,比如cpu=samples,每次JVM退出时都会写出一个转储文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-27
    • 2014-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-20
    • 2011-11-29
    相关资源
    最近更新 更多