Using Java JDK 1.8.0_60, OrientDB 2.1.3 (embedded/plocal)
I am wondering if there is any way to configure OrientDB's memory settings to "share" memory space better within a Java process (especially when OrientDB is not necessarily the "primary/only" module running in the process).
E.g.
The memory profile below shows OrientDB running by itself outside of our application (we used it for load testing). OrientDB does great!
-Xmx500m -Dstorage.diskCache.bufferSize=500
As you can see, OrientDB honors the 500MB limit just fine. However, when we put it back into our application and any other part of our application requires more memory to do something else, well you can see how this might be a problem, especially if OrientDB is at one of the peak areas circled above. This is where an out of memory error would occur, when OrientDB seems to be competing for memory with the rest of the application that it is embedded in.
Any thoughts? Are there other memory settings that we should try adjusting?
Thanks!
After several experiments with OrientDB, we determined that it was never intended to be a second-class citizen in the process space. I mean that OrientDB is designed to be "the process" and not designed to be used like embedding SQLite for light use in an application.
As such, we moved OrientDB into a separate service/process so that it does not conflict with the memory space of our application. It seems to work fine in this manner.