我的 Eclipse 显示堆内存已满错误,它会自动重新启动。请提出一种清理 Eclipse 堆内存的方法。我正在使用靛蓝日食
我已经清理了项目,但没有帮助
在Eclipse.ini
中,您可以配置堆设置。
这个博客对它有更多的了解。
通过 UI,您可以尝试以下方式:
Show heap status
在窗口 -> 首选项 -> 常规下启用。(默认关闭)。检查Preferences > General > Show heap status
。然后单击 GUI 底部的垃圾桶图标。
我假设您真正的问题是 Eclipse 本身内存不足。如果是这种情况,那么“清除”堆实际上并没有帮助。
有几种方法可以帮助解决问题:
您可以通过关闭项目、删除不必要的插件等来减少 Eclipse 的内存使用。但是,这往往会降低 Eclipse 的实用性。
您可以更改“eclipse.ini”文件中的 JVM -Xmx 和 -Xms 设置,为 Eclipse 提供更大的堆。但这仅在您有足够的 RAM 并且您处于操作系统和硬件1施加的地址空间限制之下时才有效。
如果以上都不能解决问题,则需要一台内存更大的机器。
1 - 32 位操作系统和硬件会将您限制在大约 2Gb 的可用堆空间......尽管限制会因各种因素而有所不同。这与操作系统管理进程虚拟地址空间的方式有关。但是您需要在 Eclipse 中开发一个相当大的系统才能真正引起关注。
请注意,“显示堆状态”并单击垃圾桶图标不会解决问题。运行 Eclipse 的 JVM 在使用OutOfMemoryError
. (不过,此功能并非完全没用。强制垃圾收集可以使 Eclipse 稍微响应一下……一旦 GC 完成。)
您需要在类的 vm 参数中设置xms
和xmx
参数。RunConfigurations
使用Run
-> Run Configurations
->Arguments tab
如果您的应用程序很大并且创建了很多对象,您可以使用 JVM 选项-Xms
和-Xmx
. Xms 表示堆的起始大小,而 -Xmx 表示 Java 中堆的最大大小。