3

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

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

这是jdk1.6。

编辑:好的,现在我发现了一个类似的问题,确实可能是 PermGen 空间问题,因为我的过程已经持续了 23 天。我经常创建新线程(据我所知正确结束),也许每秒一次。有人知道我能否以某种方式确认这一点吗?

4

1 回答 1

1

如果您未能创建一个非常大的对象,就会发生这种情况。即您未能创建的对象不在转储中。

于 2011-04-13T08:36:08.877 回答