除内存不足外,JVM 何时生成转储
我现在需要知道除了内存不足的情况之外,jvm 何时生成 hprof 转储。 例如,当 cpu 使用率较高时,它是否会产生 hprof? 我看到生成了 hprof 文件,并且没有出现内存不足的情况。
I need to now when does jvm produce hprof dumps other than out of memory situations.
Eg, does it produce an hprof when there is a high cpu usage?
I see hprof files produces and there is no out of memory situation.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
仅当内存不足并且在启动时配置为这样做时,我才会“自动”生成堆转储(例如,对于 sun JVM 来说 -XX:-HeapDumpOnOutOfMemoryError)...
但是您也可以向 JVM 发送信号在solaris上请求转储(例如kill -Quit pid)...
所以这取决于操作系统和JVM,但可以请求转储...
I does 'automatically' produce a heap dump only when out of memory and if it was configured to do so at startup (for example -XX:-HeapDumpOnOutOfMemoryError for a sun JVM)...
But you can also send a signal to the JVM to request for a dump (for example kill -Quit pid) on solaris...
So it depends on the OS and on the JVM but it is possible to ask for a dump...
此外,当本机库引发异常时,JVM 还会创建核心转储。
In adition the JVM creates a core dump when a native library throws an expception.
启动应用程序时会传递哪些命令行 JVM 选项? HPROF 有很多选项;有些,例如 cpu=samples,每次 JVM 退出时都会写出一个转储文件。
What command-line JVM options are passed when starting your application? There are many HPROF options; some, like
cpu=samples
, write out a dump file every time the JVM exits.