我有一个使用以下标志运行的生产服务器: - XX:+ HeapDumpOnOutOfMemoryError
昨晚它在我们的服务器遇到堆错误时生成了一个java-38942.hprof文件.事实证明,系统的开发人员知道标志,但无法从中获取任何有用的信息.
有任何想法吗?
java.lang.OutOfMemoryError: Java heap space
Dumping heap to java_pid2584.hprof ...
Heap dump file created [106948719 bytes in 4.213 secs]
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:2760)
at java.util.Arrays.copyOf(Arrays.java:2734)
at java.util.ArrayList.ensureCapacity(ArrayList.java:167)
at java.util.ArrayList.add(ArrayList.java:351)
at Main.main(Main.java:15)
Run Code Online (Sandbox Code Playgroud)
但是当我通过Eclipse Memory Analyzer打开head dump java_pid2584.hprof时,总会有消息:
An internal error occurred during:
"Parsing heap dump from **\java_pid6564.hprof'".Java heap space
Run Code Online (Sandbox Code Playgroud) 我必须在Java应用程序中发现内存泄漏.我对此有一些经验,但希望就此采用方法/策略方面的建议.欢迎任何参考和建议.
关于我们的情况:
问题: 帮助您成功捕获企业级应用程序中的泄漏的方法是什么?
我有一个6.5GB的Hprof文件,使用该-XX:-HeapDumpOnOutOfMemoryError选项由64位JVM转储.我把它放在一台16GB的64位机器上,并且我试图将它放入jhat,但它一直在耗尽内存.我试过传递jvm args以获得最小设置,但它拒绝任何最小值,并且在达到最大值之前似乎耗尽了内存.
jvm耗尽内存会使堆积如此之大以至于无法将其加载到具有两倍ram的盒子上,这似乎有点愚蠢.有没有办法让这个运行,或可能摊销分析?
我正在使用Eclipse + MAT插件.我可以看到一个.hprof文件堆历史记录,我拿了两个我的Java应用程序的快照.我希望当我比较两个堆转储时,我可以确定哪些对象实例增加了很多,以便我可以识别内存泄漏的可能性.
netbean能做到吗?
如果只能为 JVM 分配 1.5GB,是否有分析大型 Java 堆转储 (2GB) 的工具?我不敢相信转储必须完全加载到内存中才能进行分析...
Eclipse MemoryAnalyzer 失败,IBM 工具也失败。
我现在需要在这里使用命令行工具吗?
我使用VisualVM创建了一个堆转储.生成的.hprof文件大约为6GB.
当我尝试在VisualVM中加载文件时,它会被卡在50%.卡住时,我正在使用的计算机上似乎没有消耗额外的资源.CPU很安静,只有大约一半的可用内存在使用,并且没有报告任何IO.
jvisualvm:坚持"加载堆转储"屏幕问一个类似的问题,但唯一的答案建议.hprof通过VisualVM 创建文件(我已经做过).
是否需要使用任何特殊设置来打开此大小的堆转储?
我试图使用 Eclipse MAT 解析 11GB 堆转储,但出现以下错误
An internal error occurred during: "Parsing heap dump"
Run Code Online (Sandbox Code Playgroud)
我认为 MAT 无法解析如此巨大的堆转储。我阅读了一些帖子并将 VM 配置增加到转储大小的 80% 以上。以下是我的虚拟机配置
-vmargs -Xms8192m -Xmx10240m
Run Code Online (Sandbox Code Playgroud)
我仍然无法加载转储。我尝试使用 ParseHeapDump.bat 没有任何变化......
java ×7
eclipse ×2
heap ×2
memory-leaks ×2
profiling ×2
enterprise ×1
heap-dump ×1
jhat ×1
jvm ×1
legacy-code ×1
memory ×1
methodology ×1
visualvm ×1