【问题标题】:OrientDB: embedded application - out of memory - how to configure OrientDB memory usageOrientDB:嵌入式应用程序 - 内存不足 - 如何配置 OrientDB 内存使用情况
【发布时间】:2016-01-29 17:25:37
【问题描述】:

使用 Java JDK 1.8.0_60、OrientDB 2.1.3(嵌入式/plocal)

我想知道是否有任何方法可以配置 OrientDB 的内存设置以在 Java 进程中更好地“共享”内存空间(尤其是当 OrientDB 不一定是进程中运行的“主要/唯一”模块时)。

例如
下面的内存配置文件显示了 OrientDB 在我们的应用程序之外自行运行(我们将其用于负载测试)。 OrientDB 做得很好!

-Xmx500m -Dstorage.diskCache.bufferSize=500


如您所见,OrientDB 很好地遵守了 500MB 的限制。然而,当我们把它放回我们的应用程序并且我们的应用程序的任何其他部分需要更多的内存来做其他事情时,你可以看到这可能是一个问题,特别是如果 OrientDB 处于上面圈出的峰值区域之一。当 OrientDB 似乎正在与它所嵌入的应用程序的其余部分竞争内存时,就会发生内存不足错误。

有什么想法吗?我们应该尝试调整其他内存设置吗?
谢谢!

【问题讨论】:

  • 我们最终在一个单独的服务中运行 OrientDB,这样它就不会与我们应用程序的内存空间冲突。

标签: java orientdb


【解决方案1】:

在对 OrientDB 进行多次实验后,我们确定它从未打算成为进程空间中的二等公民。我的意思是,OrientDB 被设计为“过程”,而不是像嵌入 SQLite 那样用于在应用程序中轻量级使用。

因此,我们将 OrientDB 移到了一个单独的服务/进程中,这样它就不会与我们应用程序的内存空间发生冲突。它似乎以这种方式工作正常。

【讨论】:

    猜你喜欢
    • 2015-12-02
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 2011-03-09
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多