我无法使用独立的eclipse内存分析器或visualVM打开堆转储。我已经尝试了两个不同的hprof文件。VisualVM在加载堆转储时挂起,eclipse内存分析器给出了下面的错误。
Error opening heap dump 'java_pid15751.hprof'. Check the error log for further details.
Error opening heap dump 'java_pid15751.hprof'. Check the error log for further details.
Not a HPROF heap dump (java.io.IOException)
Not a HPROF heap dump我用的是32位的windows7。应用服务器在jboss 7.1.1上,java版本如下。OpenJDK运行时环境(IcedTea6 1.10.6) (rhel 1.43.1.10.6.el6_2-x86_64) OpenJDK 64位服务器虚拟机(内部版本20.0-b11,混合模式)
发布于 2018-05-16 17:53:50
我怀疑您的堆转储文件已损坏。如何捕获堆转储文件?This article概述了几个不同的选项来捕获堆转储。JDK中的‘'jmap’工具是捕获堆转储的优秀工具。您可以通过传递以下命令来调用它:
jmap -dump:format=b,file=<heap-dump-file-path> <process-id>哪里
heap-dump-file-path:是堆转储将写入的文件路径。
Java Id:是进程Id,应捕获其堆转储
示例:
jmap -dump:format=b,文件=/opt/tmp/heapdump.bin 37320
发布于 2015-06-18 19:43:50
这些堆转储是由于JBoss中的内存不足问题造成的,其中会自动获取堆。我使用jmap拍摄了一个,它打开得很好。我认为堆转储由于某种原因而被损坏。
https://stackoverflow.com/questions/30875792
复制相似问题