OrientDB:嵌入式应用程序 - 内存不足 - 如何配置OrientDB内存使用情况

时间:2016-01-29 17:25:37

标签: java orientdb

使用Java JDK 1.8.0_60,OrientDB 2.1.3(嵌入式/本地)

我想知道是否有任何方法可以将OrientDB的内存设置配置为" share"在Java进程中更好的内存空间(特别是当OrientDB不一定是"主要/只有"在该进程中运行的模块时)。

E.g。
下面的内存配置文件显示OrientDB在我们的应用程序之外自行运行(我们将其用于负载测试)。 OrientDB非常棒!

-Xmx500m -Dstorage.diskCache.bufferSize = 500

Memory Profile
如您所见,OrientDB很好地尊重500MB限制。但是,当我们将它放回我们的应用程序并且我们的应用程序的任何其他部分需要更多内存来执行其他操作时,您可以看到这可能是一个问题,特别是如果OrientDB位于上面圈出的峰值区域之一。当OrientDB似乎与其嵌入的应用程序的其余部分竞争内存时,就会发生内存不足错误。

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

1 个答案:

答案 0 :(得分:0)

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

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