根据 documentation当应用程序遇到 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
参数定义。
另见:
关于Java VisualVM 在 OOME 上启用堆转储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8311371/