Java VisualVM在OOME上启用堆转储
根据文档,当应用程序遇到OutOfMemoryException时,可以自动进行堆转储。
OutOfMemoryException过程刚刚从左侧菜单中消失。
这个function在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
参数定义。
也可以看看:
- 带有HotSpot VM的Java SE 6故障排除指南
- Java HotSpot VM选项
- StackOverflow:使用HeapDumpOnOutOfMemoryError参数
似乎应用程序刚刚退出OOM。 在这种情况下,您必须使用特殊的-XX
参数运行您的应用程序。 请参阅JVM文档中的 “dump”参数。 应用程序死后,您可以检查工具中的转储。