0

我正在使用 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
4

3 回答 3

1

尝试增加你的堆:

-Xmx1024m

http://wiki.eclipse.org/FAQ_How_do_I_increase_the_heap_size_available_to_Eclipse%3F

于 2013-01-25T14:13:34.283 回答
1

这对你所拥有的内存已经足够了。听起来您的一个单元测试正在处理一个巨大的结果集(坏主意)。向我们展示该代码,但似乎只有在您运行一项特定测试时才会发生这种情况,对吧?

于 2013-01-25T14:32:18.857 回答
1

Eclipse 需要大量内存。在 32 位机器上,我将 mn 和 mx 都设置为 2048m。在 64 位机器上,我使用 4096m 作为这些值。我这样做的原因是,当我使用未在自我调整的 JDK 上设置的那些值运行 Eclipse 时,它​​会一直运行堆,直到在中等规模的项目上使用 4G。否则,我最终不得不至少每天重新启动它,这样它就可以释放它隐藏并忘记的所有小块内存。

于 2013-02-14T22:37:14.610 回答