cancel
Showing results for 
Search instead for 
Did you mean: 

Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.

Seperate Data and Log Backup memory issues

I am having an issue with backups in version 3.5.12. It seems that when I leave the data and log files in the default location on the Ubuntu 18.04 Debian package (/var/lib/neo4j/data); backups work fine. When I split these locations to dedicated drives (dbms.directories.data=/mydatamount/data, and dbms.directories.tx_log=/mylogmount/log) I seem to run into issues with backups not working and giving the following error:

Backup command used:

neo4j-admin backup --from=localhost --backup-dir=/backupdir --name=graph.db --pagecache=2G

Error Message:

OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000003c0000000, 11453595648, 0) failed; error='Cannot allocate memory' (errno=12)

#There is insufficient memory for the Java Runtime Environment to continue.
#Native memory allocation (mmap) failed to map 11453595648 bytes for committing reserved memory.

The configurations of the current system's heap and pagecache leave around 10GB free, confirmed by htop, so not sure what the JVM is seeing as the problem here. Any help would be greatly appreciated!

2 REPLIES 2

intouch_vivek
Graph Steward

Looks like insufficient memory for JRE.
Error message says
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000003c0000000, 11453595648, 0) failed; error='Cannot allocate memory' (errno=12)
11453595648 bytes = 11.453595648 GB
And you have only 10GB

Ah, thanks for pointing that detail out. I guess overall my confusion was more due to me not understanding why the backup process needed so much more additional memory (obviously runs outside of the database process itself), and not having encountered this issue anywhere else with Neo4j to this point.

I did end up resolving the issue with help from Neo4j support. The issue was remedied by copying the neo4j.conf file to a different location and configuring the memory settings for the backup process itself ( dbms.memory.pagecache.size, dbms.memory.heap.init_size, dbms.memory.heap.max_size) with lower numbers that jive with available system memory.

Then, in my backup script I set the configuration file location with the following variable before executing the backup command:

export NEO4J_CONF=/mybackupconfdir/

After that my backups ran as expected.

Nodes 2022
Nodes
NODES 2022, Neo4j Online Education Summit

All the sessions of the conference are now available online