2015-12-30 63 views
1

我的应用程序服务器正在生成大小不同的.hprof文件,其大小从2G到3G不等。为什么堆转储文件比通过-Xmx分配的内存大?Java堆转储文件的大小

它们不应该等于最大堆大小吗?这是当内存不足错误发生时。

+1

hprof必须记录更多信息,而不仅仅是堆。它有多大?有一个文本和二进制格式,文本格式要大得多。 –

回答

0

它不仅仅是它输出的对象,它也存储所有的参考信息,使它更有意义。

如果处理大堆是一个问题,您可以使用Eclipse MAT,它可以帮助您索引大堆,以便您可以更好地分析它们。