4

我有一个内存转储文件,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 中使用选项。

4

2 回答 2

4

我刚刚在自己的堆转储中遇到了同样的问题。

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

看起来这种情况发生在堆转储时没有足够的磁盘空间,因此文件确实不完整/损坏。

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

于 2011-05-24T15:58:20.077 回答
0

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

于 2015-10-19T08:31:56.463 回答