【发布时间】:2009-05-18 23:22:16
【问题描述】:
我无法让 JBoss Portal 从 Eclipse 启动,尽管 AS 单独启动正常,并且当从命令行启动而不是从 Eclipse 内启动时,Portal 也正确启动。我在 Windows 中运行,有 3GB。建议?谢谢。
【问题讨论】:
我无法让 JBoss Portal 从 Eclipse 启动,尽管 AS 单独启动正常,并且当从命令行启动而不是从 Eclipse 内启动时,Portal 也正确启动。我在 Windows 中运行,有 3GB。建议?谢谢。
【问题讨论】:
我花了几个小时才发现这一点,几乎放弃并开始使用 Eclipse 之外的 JBoss。
为了在从 Eclipse 启动时增加 JBoss vmargs,您必须更改 JBoss 启动配置。如果你更改了standalone.conf,什么也不会发生,因为 Eclipse 不使用它。
因此,要在 Eclipse 中更改 JBoss vmargs,您必须转到“服务器”选项卡,右键单击您的 Jboss 实例,然后选择“打开”。
它将出现一个新窗口。在第一部分,您有一个选项:“打开启动配置”。当您单击此处时,您将看到用于更改 vmargs 的文本框。
希望对您有所帮助!
【讨论】:
有不同类型的 OutOfMemory 错误:
java.lang.OutOfMemoryError:Java 堆空间
增加 -Xms 和 -Xmx。我会确保它们至少设置为 256m,通常最好将它们设置为相同的值。
java.lang.OutOfMemoryError: PermGen 空间
添加 -XX:+CMSPermGenSweepingEnabled 或增加 PermGen 大小:-XX:PermSize=256m
java.lang.OutOfMemoryError: 超出 GC 开销限制
添加更多堆,垃圾收集器无法在每个循环中释放足够的内存。也可以尝试开启 GC 日志记录。
java.lang.OutOfMemoryError: 无法创建新的本地线程
减少你的堆 :) 这意味着你有太多的内存分配给堆,操作系统没有足够的内存来创建线程..
最后两件事,上面可以在jboss/bin/run.conf中配置。
此外,当启动 JBoss 时,查看哪些 -X 参数正在传递给 JVM,它默认打印此信息,验证它是否是您所期望的。
【讨论】:
您需要增加分配给 Java 的内存,尤其是堆空间和 PermGen。 This article 高度相关。它提到这个问题经常发生在 Eclipse 和 JBoss 中(因为两者都相当大),并提供了解决方案(调整命令行标志)。
【讨论】:
你用什么来从 Eclipse 运行门户?也许 Jboss 工具可以帮助你 http://www.jboss.org/tools
【讨论】:
根据我的实验,在 eclipse.ini 中设置的 vmargs 的所有选项仅播放一次 - 在创建新工作区时。当您想更改现有工作区中的选项时,请使用https://stackoverflow.com/a/10814631/715269 中的运行/调试配置。 ini 中的 vmargs 将不再被读取。
小心,你应该设置 -XX:MaxPermSize=...M,而不是 -XX:PermSize=...,最后设置最小,开始 PermSize。
广告。杰里米。将最小值和最大值设置为相同的值是没有意义的。您剥夺了 Eclipse 的适应性。 -Xms 和 -Xmx(堆)和 PermGen 和 MaxPermGen 应该不同。 (MaxPermGen =256 默认)
【讨论】: