我无法让 JBoss Portal 从 Eclipse 启动,尽管 AS 单独启动良好,并且当从命令行启动而不是从 Eclipse 内启动时,Portal 也正确启动。我在 Windows 中运行,有 3GB。建议?谢谢你。
5 回答
我花了几个小时才发现这一点,几乎放弃并开始使用 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。 这篇文章是高度相关的。它提到这个问题经常发生在 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 默认)