Out of Memory错误从Eclipse启动JBoss与Portal

时间:2009-05-18 23:22:16

标签: eclipse jboss portal

我不能让JBoss Portal从Eclipse开始,虽然单独的AS开始运行良好,并且从命令行启动而不是从Eclipse内部启动时Portal也正常启动。我在Windows上运行,有3GB。建议?谢谢。

5 个答案:

答案 0 :(得分:8)

我花了好几个小时才发现这一点,并且差点放弃并开始在Eclipse中使用JBoss。

为了在从Eclipse启动时增加JBoss vmargs,您必须更改JBoss启动配置。如果你改变standalone.conf,没有任何事情发生,因为Eclipse没有使用它。

因此,要在Eclipse中更改JBoss vmargs,您必须转到" Servers"选项卡,右键单击您的Jboss实例,然后选择"打开"。

会出现一个新窗口。在第一部分中,您有一个选项:"打开启动配置"。当您点击该处时,您会看到文本框以更改vmargs。

希望这能帮到你!

答案 1 :(得分:7)

有不同类型的OutOfMemory错误:

java.lang.OutOfMemoryError:Java堆空间

增加-Xms和-Xmx。我确保将它们设置为至少256米,并且通常将它们设置为相同的值是个好主意。

java.lang.OutOfMemoryError:PermGen space

添加-XX:+ CMSPermGenSweepingEnabled或增加PermGen大小:-XX:PermSize = 256m

java.lang.OutOfMemoryError:超出GC开销限制

添加更多堆,垃圾收集器无法在每个周期释放足够的内存。也可以尝试启用GC日志记录。

java.lang.OutOfMemoryError:无法创建新的原生线程

减少你的堆:)这意味着你有太多的内存分配给堆,操作系统没有足够的内存来创建线程..


最后两件事,上面的内容可以在jboss / bin / run.conf中配置。

同样,在启动JBoss时,请查看正在传递给JVM的-X参数,默认情况下会打印此信息,验证它是否符合您的预期。

答案 2 :(得分:0)

您需要增加分配给Java的内存,特别是堆空间和PermGen。 This article具有高度相关性。它提到Eclipse和JBoss经常出现这个问题(因为它们都相当大),并提供了一个解决方案(调整命令行标志)。

答案 3 :(得分:0)

你用什么来运行eclipse的门户网站?也许Jboss工具可以帮到你 http://www.jboss.org/tools

答案 4 :(得分:0)

  1. 根据我的实验,在eclipse.ini中设置的所有vmargs选项只能播放一次 - 在创建新工作区时。如果要更改现有工作空间中的选项,请使用https://stackoverflow.com/a/10814631/715269中的运行/调试配置。 ini中的vmargs将不再被阅读。

  2. 注意,你应该设置-XX:MaxPermSize = ... M,而不是-XX:PermSize = ...,最后设置最小值,启动PermSize。

  3. 广告。杰里米。将分钟和最大值放在相同的值上是毫无意义的。你剥夺了Eclipse的适应性。 -Xms和-Xmx(堆)以及PermGen和MaxPermGen应该不同。 (MaxPermGen =默认值为256)