java.lang.OutOfMemoryError:Eclipse Helios中的PermGen空间

时间:2011-06-30 15:26:36

标签: eclipse out-of-memory helios xtext

我在eclipse中创建了一个Xtext插件。每次我通过上下文菜单将其作为“Eclipse应用程序”启动时,我会在新的Eclipse实例崩溃之前获得一些优势。我切换回原始实例,在控制台窗口中看到

Root exception:
java.lang.OutOfMemoryError: PermGen space

我已经回顾了论坛中的一些解决方案,但很多都与tomcat有关。有人可以给我一些建议,我该如何解决这个问题?我正在使用Eclipse helios。我的'eclipse.ini'文件看起来像:

-startup
plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.2.R36x_v20101222
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx384m

我运行eclipse的机器只有大约4GB的RAM

=============================================== =======================

更新:我希望这对任何可能遇到同样问题的人都有帮助。 我按照说明here尝试设置 我的eclipse.ini文件中的-XX:MaxPermSize=256m。这没用。最终, 我不得不卸载java sdk(我使用的是最新的jdk1.6.0_26)并安装了 来自here的旧版本(jdk1.6.0_20)。然后我设置-XX:MaxPermSize=256m 在我的eclipse.ini中它现在看起来如下:

-startup
plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.2.R36x_v20101222
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.defaultAction
openFile
-vmargs
-Xms40m
-Xmx1024m
-XX:MaxPermSize=256m

我希望这可以帮助处于同样情况的人。这个问题正在发生 当我启动我的Xtext插件时。

2 个答案:

答案 0 :(得分:19)

请在启动配置中添加以下vm参数(运行 - >运行配置)

-XX:MaxPermSize=128m

这应该有所帮助。

答案 1 :(得分:1)

我正在使用Eclipse Helios build - 1415(64位)。将它添加到上面的运行配置对我来说不起作用。我不得不进入并将其添加到eclipse.ini文件中。只需将它附加到文件的末尾并重新启动eclipse即可。