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

Java OrientDB:嵌入式应用程序-内存不足-如何配置OrientDB内存使用,java,orientdb,Java,Orientdb,使用Java JDK 1.8.0_60,OrientDB 2.1.3(嵌入式/本地) 我想知道是否有任何方法可以配置OrientDB的内存设置,以便在Java进程中更好地“共享”内存空间(特别是当OrientDB不一定是进程中运行的“主/唯一”模块时) 例如 下面的内存配置文件显示了OrientDB在我们的应用程序之外自行运行(我们将其用于负载测试)。OrientDB做得很好 -Xmx500m-Dstorage.diskCache.bufferSize=500 正如您所看到的,OrientDB

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

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

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

-Xmx500m-Dstorage.diskCache.bufferSize=500


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

有什么想法吗?是否还有其他内存设置需要调整?

谢谢

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


因此,我们将OrientDB移动到一个单独的服务/进程中,这样它就不会与应用程序的内存空间冲突。通过这种方式,它似乎工作得很好。

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