为什么hprof文件的大小要比给jvm的内存量小得多

时间:2011-04-13 08:33:09

标签: java out-of-memory hprof

我们的代码使用-XX:+ HeapDumpOnOutOfMemoryError标志运行,因此我们在OOM上获得了一个hprof文件。 最近我从安装中得到了这样一个文件,我用Eclipse内存分析器(MAT)打开它,我可以看到总大小是46MB,如果进程是用-Xmx1024m启动的话怎么样?

大小不应该更接近最大分配大小吗?

这是jdk1.6。

编辑:好了,我发现similar question确实存在PermGen空间问题,因为我的过程已经持续了23天。我经常创建新的线程(据我所知正确结束),每秒一次。有谁知道我能否以某种方式证实这一点?

1 个答案:

答案 0 :(得分:1)

如果您无法创建非常大的对象,则会发生这种情况。即您无法创建的对象不在转储中。