2016-01-29 30 views
0

使用Java JDK 1.8.0_60,OrientDB 2.1.3(嵌入式/ plocal)OrientDB:嵌入式應用程序 - 內存不足 - 如何配置OrientDB內存使用

我想知道是否有什麼辦法將OrientDB的內存設置配置爲在Java進程中更好地「共享」內存空間(特別是當OrientDB不一定是在進程中運行的「主/唯一」模塊時)。

E.g.
下面的內存配置文件顯示了在我們的應用程序之外運行的OrientDB(我們用它來進行負載測試)。 OrientDB很棒!

-Xmx500m -Dstorage.diskCache.bufferSize = 500

Memory Profile
正如你所看到的,OrientDB榮譽的500MB極限就好了。但是,當我們把它放回到我們的應用程序中,並且我們的應用程序的其他任何部分都需要更多的內存來做其他事情時,那麼你可以看到這可能是一個問題,特別是如果OrientDB處於上面圈出的高峯地區之一。當OrientDB似乎與嵌入其中的應用程序的其餘部分競爭內存時,這會發生內存不足錯誤。

有什麼想法?我們應該嘗試調整其他內存設置嗎?
謝謝!

+0

我們結束了在一個單獨的服務中運行OrientDB,以便它不與我們的應用程序的內存空間相沖突。 – 11101101b

回答

0

經過OrientDB的多次實驗後,我們確定它從未打算成爲流程空間中的二等公民。我的意思是OrientDB被設計成「過程」,並不是爲了像在應用程序中使用光嵌入SQLite而設計的。

因此,我們將OrientDB移動到單獨的服務/進程中,以便它不會與我們的應用程序的內存空間發生衝突。它似乎以這種方式正常工作。