我正在使用Eclipse Juno。我有一个工作区,有100个左右的类和接口,分布在5个项目中。根据代码度量实用程序,大约有5,000行代码。我打开了大约5个.java文件。
当我正在运行单元测试并保存代码时,我不断收到此错误(它发生的原因有时候,但不一定是第一次):
“迭代数据库密钥错误
Java堆空间“
我尝试重新启动Eclipse并重新启动计算机,错误仍然存在。
我的eclipse.ini文件看起来像这样(我按照以下建议对其进行了编辑:Out of memory error in eclipse.why?)
-startup
../../../plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.library
../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.200.v20120522-1813
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Xms512m
-Xmx512m
-Xdock:icon=../Resources/Eclipse.icns
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
-XX:PermSize=128m
-XX:MaxPermSize=128m
答案 0 :(得分:1)
尝试增加堆:
-Xmx1024m
http://wiki.eclipse.org/FAQ_How_do_I_increase_the_heap_size_available_to_Eclipse%3F
答案 1 :(得分:1)
对你所拥有的东西来说,这已经足够了。听起来像你的一个单元测试正在处理一个巨大的(坏主意)结果集。向我们展示代码,但似乎这只是在你运行一个特定的测试时发生的,对吧?
答案 2 :(得分:1)
Eclipse需要大量内存。在32位机器上,我将mn和mx都设置为2048m。在64位机器上,我使用4096m作为这些值。我这样做的原因是因为当我运行Eclipse并且没有在自我调整的JDK上设置那些值时,它会在一个中等大小的项目中一直运行堆栈。否则,我最终必须至少每天都重新启动它,这样它就可以释放掉它所隐藏的所有内存。忘掉了。