2012-11-07 47 views
6

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

我已经清理该项目,但它并不能帮助

+0

Mb rewrite eclipse? :) –

+1

你是否已经增加了可用于eclipse的heapsize?请参阅http://wiki.eclipse.org/FAQ_How_do_I_increase_the_heap_size_available_to_Eclipse%3F – halex

回答

8

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

14

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

blog抛出更多的光。

通过用户界面,你可以尝试以下方法:

  • 下启用窗口Show heap status - >首选项 - >常规。 (默认关闭)。
  • 只需选中此框即可在右下角显示堆大小指示器。该指标显示最大的JVM堆大小以及其使用量。
  • 该指标的另一个有用的功能是垃圾收集堆的能力。
0

你需要设置在你的类的VM参数RunConfigurationsxmsxmx参数。 使用Run - >Run Configurations - >Arguments tab

如果你的应用是大和大量的创建可以通过使用JVM选项-Xms-Xmx改变的堆空间大小的对象。 Xms表示堆的开始大小,-Xmx表示Java中堆的最大大小。

2

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

有一对夫妇,可以帮助解决这个问题的方法:

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

  • 您可以更改“eclipse.ini”文件中的JVM -Xmx和-Xms设置,从而为Eclipse提供更大的堆。但是,只有当你有足够的内存,并且你的操作系统和硬件的地址空间限制在这个范围内时,这才会起作用。

  • 如果上述两个都不能解决问题,则需要内存更多的机器。

1 - 一个32位的操作系统和硬件将虽然极限变化有点取决于各种因素限制你周围的可用堆2GB空间...。这与操作系统管理虚拟地址空间的方式有关。但是你需要在Eclipse中开发一个非常大的系统,这是一个真正的问题。


注意,“显示堆地位”,然后点击垃圾桶图标将不会解决问题。运行Eclipse的JVM将始终执行完整的垃圾回收,然后以OutOfMemoryError进行保护。 (这个功能并不是完全没有用的,强制垃圾收集可以让Eclipse更快地响应一下...一旦GC完成了。)