12

我在 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

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

更新:我希望这对可能有同样问题的人有所帮助。我按照此处的说明操作并尝试 -XX:MaxPermSize=256m在我的 eclipse.ini 文件中进行设置。这没有用。最终,我不得不卸载 java sdk(我使用的是最新的 jdk1.6.0_26)并从这里安装了旧版本(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 插件时发生了这个问题。

4

2 回答 2

19

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

-XX:MaxPermSize=128m

那应该有帮助。

于 2011-07-02T14:08:53.297 回答
1

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

于 2014-09-02T23:37:52.523 回答