【发布时间】:2010-04-13 09:07:23
【问题描述】:
我现在需要知道 jvm 何时产生 hprof 转储,而不是内存不足的情况。 例如,当 cpu 使用率很高时它会产生 hprof 吗? 我看到 hprof 文件生成并且没有内存不足的情况。
【问题讨论】:
-
您是否尝试过分析 hprof 数据?
标签: java crash-dumps
我现在需要知道 jvm 何时产生 hprof 转储,而不是内存不足的情况。 例如,当 cpu 使用率很高时它会产生 hprof 吗? 我看到 hprof 文件生成并且没有内存不足的情况。
【问题讨论】:
标签: java crash-dumps
我只会在内存不足时“自动”生成堆转储,并且如果它被配置为在启动时这样做(例如 -XX:-HeapDumpOnOutOfMemoryError 用于 sun JVM)...
但您也可以向 JVM 发送信号以请求在 solaris 上进行转储(例如 kill -Quit pid)...
所以它取决于操作系统和 JVM,但可以要求转储...
【讨论】:
此外,当本机库抛出异常时,JVM 会创建核心转储。
【讨论】:
启动应用程序时传递了哪些命令行 JVM 选项?有许多 HPROF 选项;有些,比如cpu=samples,每次JVM退出时都会写出一个转储文件。
【讨论】: