Java VisualVM 在 OOME 上启用堆转储

标签 java profiling jvisualvm

根据 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/

相关文章:

java - JVisualVM: "Local Applications Cannot Be Detected"

java - 为什么 dequeue() 花费如此多的处理器时间?

java - Golang 的 WaitGroup 的 Java 等价物是什么

java - java中如何自动进行端口转发?

java - 为什么 jmap -permstat 会报告超过使用的 MaxPermSize 字节数?

java - 监控java程序的执行时间分布

c++ - C++ 中的多线程内存分析

java - 当键是对象时如何访问 HashMap 键

Java Yourkit Profiler 显示 5K+ char[] 对象没有被垃圾收集,我如何知道哪个类是罪魁祸首?

java - VisualGC下载离线安装