我的eclipse显示堆内存已满错误,它会自动重启。请建议一种方法来清理日食的堆内存。我正在使用靛蓝
我已经清理了项目,但没有帮助
答案 0 :(得分:18)
在Eclipse.ini
内,您可以配置堆设置。
这blog会对它产生更多的影响。
通过用户界面,您可以尝试以下方式:
Show heap status
- >偏好 - >一般。 (默认情况下关闭)。 答案 1 :(得分:9)
检查Preferences > General > Show heap status
。然后单击GUI底部的垃圾桶图标。
答案 2 :(得分:2)
我假设您真正的问题是Eclipse本身内存不足。如果是这种情况,那么“清除”堆实际上并没有帮助。
有几种方法可以帮助解决问题:
您可以通过关闭项目,删除不必要的插件等来减少Eclipse的内存使用量。但是,这往往会降低Eclipse的实用性。
您可以更改“eclipse.ini”文件中的JVM -Xmx和-Xms设置,以便为Eclipse提供更大的堆。但这只有在你有足够的内存并且你仍然在你的操作系统和硬件 1 强加的地址空间限制之下时才有效。
如果以上两种方法都解决了问题,则需要一台内存更多的机器。
1 - 32位操作系统和硬件将限制您大约2Gb的可用堆空间...尽管限制因各种因素而有所不同。这与操作系统管理虚拟地址空间的方式有关。但是你需要在Eclipse中开发一个相当大的系统才能成为一个真正的问题。
请注意,“显示堆状态”并单击垃圾箱图标将无法解决问题。运行Eclipse的JVM将始终执行完整的垃圾回收,然后再使用OutOfMemoryError
进行抢救。 (但是这个功能并不是完全无用的。强制垃圾收集可以让Eclipse在GC完成后更具响应性。)
答案 3 :(得分:0)
您需要在类{vm参数的xms
中设置xmx
和RunConfigurations
个参数。
使用Run
- > Run Configurations
- > Arguments tab
如果您的应用程序很大并且创建了大量对象,则可以使用JVM选项-Xms
和-Xmx
来更改堆空间的大小。 Xms表示Heap的起始大小,而-Xmx表示Java中Heap的最大大小。