在 64 位 JVM 上运行 Openfire
Posted
技术标签:
【中文标题】在 64 位 JVM 上运行 Openfire【英文标题】:Run Openfire on 64bit JVM 【发布时间】:2016-04-06 15:16:16 【问题描述】:我们将 OpenFire 用于 XMPP 消息。我们有一些内存问题(OutOfMemoryError),因此我们想增加内存。我知道如何使用 VM 选项增加内存,我们能够在 32 位 VM 上将内存增加到 1.5Gb。但似乎不支持更大的值
我们使用 32 位 VM,因为 OpenFire 似乎不支持 64 位 VM。然而,有传言说有些人得到了它的工作。但每次我尝试 64 位 VM 时,我都会收到一条错误消息,指出未找到 32 位 VM
我试过这个解决方案:https://community.igniterealtime.org/docs/DOC-1331 但这不适用于较新的 openfire 版本
我的问题:有没有人能够在 64 位 VM 上运行 OpenFire,如果有,如何?
【问题讨论】:
XMPP 服务器的 1.5GB 似乎相当多。我认为您正在尝试解决症状而不是找到真正的问题。请发布堆栈跟踪并更详细地描述您的情况,例如您是否将 OpenFire 集成到您自己的代码中等。问题很可能与 OpenFire 本身无关,并且无论有多少可用内存都会发生.就目前而言,您的问题无法回答,因此题外话。 我们确实通过 XMPP 发送(非常)大消息。我们现在正在创建一个基于 REST 的系统,但在完成之前我们希望增加堆大小以减少 OOM 发生 什么是“非常大”的消息?多少字节? 平均 500k,但最高可达 20MB XMPP 不是为传送 20MB 消息而设计的。您需要考虑在带外传达这些内容。 【参考方案1】:这不是对您的内存问题的直接回复,但 XMPP 并非旨在传送 20MB 的消息。您需要考虑在带外传送这些消息并使用 XMPP 协商传输。您可能需要查看 XMPP 文件传输规范,例如 XEP-0234: Jingle File Transfer。
【讨论】:
以上是关于在 64 位 JVM 上运行 Openfire的主要内容,如果未能解决你的问题,请参考以下文章