9

我的 Eclipse 显示堆内存已满错误,它会自动重新启动。请提出一种清理 Eclipse 堆内存的方法。我正在使用靛蓝日食

我已经清理了项目,但没有帮助

4

4 回答 4

21

Eclipse.ini中,您可以配置堆设置。

这个博客对它有更多的了解。

通过 UI,您可以尝试以下方式:

  • Show heap status在窗口 -> 首选项 -> 常规下启用。(默认关闭)。
  • 只需选中此框即可在右下角显示堆大小指示器。此指示器显示最大 JVM 堆大小以及正在使用的堆大小。
  • 该指标的另一个有用特性是垃圾收集堆的能力。
于 2012-11-07T10:30:13.963 回答
11

检查Preferences > General > Show heap status。然后单击 GUI 底部的垃圾桶图标。

于 2012-11-07T10:29:37.283 回答
3

我假设您真正的问题是 Eclipse 本身内存不足。如果是这种情况,那么“清除”堆实际上并没有帮助。

有几种方法可以帮助解决问题:

  • 您可以通过关闭项目、删除不必要的插件等来减少 Eclipse 的内存使用。但是,这往往会降低 Eclipse 的实用性。

  • 您可以更改“eclipse.ini”文件中的 JVM -Xmx 和 -Xms 设置,为 Eclipse 提供更大的堆。但这仅在您有足够的 RAM 并且您处于操作系统和硬件1施加的地址空间限制之下时才有效。

  • 如果以上都不能解决问题,则需要一台内存更大的机器。

1 - 32 位操作系统和硬件会将您限制在大约 2Gb 的可用堆空间......尽管限制会因各种因素而有所不同。这与操作系统管理进程虚拟地址空间的方式有关。但是您需要在 Eclipse 中开发一个相当大的系统才能真正引起关注。


请注意,“显示堆状态”并单击垃圾桶图标不会解决问题。运行 Eclipse 的 JVM 在使用OutOfMemoryError. (不过,此功能并非完全没用。强制垃圾收集可以使 Eclipse 稍微响应一下……一旦 GC 完成。)

于 2012-11-07T11:22:31.960 回答
0

您需要在类的 vm 参数中设置xmsxmx参数。RunConfigurations使用Run-> Run Configurations->Arguments tab

如果您的应用程序很大并且创建了很多对象,您可以使用 JVM 选项-Xms-Xmx. Xms 表示堆的起始大小,而 -Xmx 表示 Java 中堆的最大大小。

于 2012-11-07T10:37:52.527 回答