如何清除eclipse的堆内存

时间:2012-11-07 10:26:44

标签: java android eclipse

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

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

4 个答案:

答案 0 :(得分:18)

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

blog会对它产生更多的影响。

通过用户界面,您可以尝试以下方式:

  • 在“窗口”下启用Show heap status - >偏好 - >一般。 (默认情况下关闭)。
  • 只需选中此框即可在右下角显示堆大小指示符。此指示器显示最大JVM堆大小及其使用量。
  • 此指标的另一个有用功能是垃圾收集堆的能力。

答案 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中设置xmxRunConfigurations个参数。 使用Run - > Run Configurations - > Arguments tab

如果您的应用程序很大并且创建了大量对象,则可以使用JVM选项-Xms-Xmx来更改堆空间的大小。 Xms表示Heap的起始大小,而-Xmx表示Java中Heap的最大大小。