Skip to content
Advertisement

Memory map for Neo4j embedded

When using Neo4j in the embedded mode (Java API), one can manually set memory map settings using the following API calls (or similar):

    GraphDatabaseSettings.nodestore_mapped_memory_size
    GraphDatabaseSettings.relationshipstore_mapped_memory_size
    GraphDatabaseSettings.mapped_memory_page_size
    GraphDatabaseSettings.strings_mapped_memory_size
    GraphDatabaseSettings.arrays_mapped_memory_size

My question is: Is the mapped memory allocated out of Java heap/extended memory or from the rest of the memory available. I know that for Neo4j server the latter is correct as long as it is run on Linux/Unix machines. But can someone confirm whether the same holds for the embedded version?

Advertisement

Answer

On Windows: from the heap

On MacOs/Unix: from the rest of the RAM

Embedded and server behave the same. That config for server is in conf/neo4j.properties

Advertisement