JHAT无法分析内存转储

时间:2010-12-25 19:44:56

标签: java tomcat out-of-memory jhat

我有一个内存转储文件,JHAT提供以下消息,我无法分析任何内容(因为没有数据显示。

 Resolving 0 objects...

WARNING:  hprof file does not include java.lang.Class!

WARNING:  hprof file does not include java.lang.String!

WARNING:  hprof file does not include java.lang.ClassLoader!

这是否意味着hprof文件不完整或已损坏?

我正在使用
-XX:+HeapDumpOnOutOfMemoryError" 我的tomcat中的选项。

2 个答案:

答案 0 :(得分:4)

我刚刚遇到了与我自己的堆转储相同的问题。

  • jhat显示您描述的警告,并且没有显示有用的数据
  • Eclipse MAT抱怨NullPointerException
  • VisualVM无法打开堆转储文件

如果在转储堆时没有足够的磁盘空间,则会发生这种情况,因此该文件确实不完整/已损坏。

http://forums.oracle.com/forums/thread.jspa?threadID=1175621&tstart=135

答案 1 :(得分:0)

我今天遇到同样的问题。为了澄清,我使用的选项heap=sites与内存转储不同。我也从jhatjvisualvm收到相同的消息。 jhat可能不支持阅读HPROF模式创建的heap=sites个文件。