7

根据文档,当应用程序遇到 OutOfMemoryException 时,可以自动进行堆转储。
在 OutOfMemoryException 过程之后从左侧菜单中消失。
这个功能在 VisualVM 中是如何工作的?

谢谢。


C:\work\temp>java -XX:HeapDumpPath=c:/work/temp/file.hprof -XX:+HeapDumpOnOutOfMemoryError -jar example.jar

4

2 回答 2

21

据我所知,JVisualVM 中的该选项相当于指定-XX:+HeapDumpOnOutOfMemoryError为 JVM 参数。这会导致 JVM 在遇到 OutOfMemoryError 时创建堆转储文件。然后可以将该文件加载到 JVisualVM(或分析器)并在那里进行分析。存储文件的目录由-XX:HeapDumpPath参数定义。

也可以看看:

于 2011-11-29T13:25:41.773 回答
3

似乎应用程序刚刚在 OOM 时退出。在这种情况下,您必须使用特殊-XX参数运行您的应用程序。请参阅JVM 文档中的“转储”参数。应用程序终止后,您可以检查工具中的转储。

于 2011-11-29T13:21:27.733 回答