我首先应该说我对配置 Eclipses 内存设置非常熟悉。我目前正在使用已发布配置之一的变体:
... --launcher.XXMaxPermSize 256m -vmargs -Xms40m -Xmx512m -Xss2m -Djava.net.preferIPv4Stack=true -Dcom.sun.management.jmxremote
根据 JConsole 和内部堆监视器,Eclipse 永远不会接近堆用完。
它所做的是不断因 OOME 而崩溃,例如每 30-50 分钟一次。有时它告诉我有一个 OOME,有时它只是默默地关闭。奇怪的是,一直运行的 OTHER eclipse 实例(J2EE 版本)从未崩溃过一次,即使有更多的源文件。
崩溃后有一次或两次它是僵尸进程,我看到它的内存占用量 - 大约 1.5gigs,远高于堆监视器所说的使用量。那么,有什么关系呢?有什么泄漏?我确实注意到活动线程的数量似乎在不断增加。
有人遇到这个问题并解决了吗?