Search code examples
jvmorientdb

OrientDB: MaxDirectMemorySize vs Dstorage.diskCache.bufferSize


It is not clear what the difference is between MaxDirectMemorySize and Dstorage.diskCache.bufferSize. They both seem to be off heap. Are they redundant when both are specified?

Docs : The size of direct memory consumed by OrientDB is limited by the size of the disk cache (variable storage.diskCache.bufferSize). https://orientdb.com/docs/2.2/Embedded-Server.html

The docs seem to imply that they refer to the same space, but that the driectmemorysize is limited by the buffer size. Is this correct?


Solution

  • MaxDirectMemorySize is a JVM setting that limits all direct byte buffer allocations within that JVM instance.

    storage.diskCache.bufferSize is an application setting that limits direct byte buffer allocations for the purpose of IO caching in orientdb.