根据文档,当应用程序遇到 OutOfMemoryException 时,可以自动进行堆转储。
在 OutOfMemoryException 过程之后从左侧菜单中消失。
这个功能在 VisualVM 中是如何工作的?
谢谢。
C:\work\temp>java -XX:HeapDumpPath=c:/work/temp/file.hprof -XX:+HeapDumpOnOutOfMemoryError -jar example.jar
据我所知,JVisualVM 中的该选项相当于指定-XX:+HeapDumpOnOutOfMemoryError
为 JVM 参数。这会导致 JVM 在遇到 OutOfMemoryError 时创建堆转储文件。然后可以将该文件加载到 JVisualVM(或分析器)并在那里进行分析。存储文件的目录由-XX:HeapDumpPath
参数定义。
也可以看看:
似乎应用程序刚刚在 OOM 时退出。在这种情况下,您必须使用特殊-XX
参数运行您的应用程序。请参阅JVM 文档中的“转储”参数。应用程序终止后,您可以检查工具中的转储。