了解 neo4j-admin 备份的内存配置
当使用 bin\neo4j-admin backup
备份 Neo4j 数据库时,Neo4j 支持建议显式定义备份 JVM 进程要使用的 JVM 堆大小和页面缓存内存。如果未定义这些参数,则在执行 neo4j-admin backup
时,JVM 将分配默认的堆大小,并且页面缓存将使用来自 conf/neo4j.conf 中 dbms.memory.pagecache.size
设置的值。在大多数情况下,conf/neo4j.conf
定义这些参数的方式是消耗超过 60% 的总 RAM。因此,如果 neo4j-admin backup
要为堆和页面缓存分配与正在运行的 Neo4j 进程相同的值,我们将消耗所有可用的 RAM,从而导致备份失败和内存不足的情况。
要为 neo4j-admin backup
指定 JVM 堆,请设置环境变量 HEAP_SIZE,例如
$ export HEAP_SIZE=2G
要为 neo4j-admin backup
指定页面缓存分配,
-
Neo4j 3.3.1 及更高版本 由于 PR 10463 的结果,请通过
--pagecache=XXM
在命令行上指定页面缓存值将 XX 替换为要为页面缓存分配的兆字节数。--pagecache 命令行参数会覆盖任何和所有其他在任何 neo4j.conf 文件中定义的页面缓存设置。
-
Neo4j 3.2.x 到 Neo4j 3.3.0
首先为备份配置文件创建一个特定目录,然后设置环境变量 NEO4J_CONF
$ export NEO4J_CONF=/tmp/backup/
+ 然后,在 /tmp/backup 中创建一个名为 neo4j.conf 的文件,内容如下
dbms.memory.pagecache.size=12G
+ 对于通过 Debian 安装的环境(例如 apt-get install neo4j-enterprise),您还需要添加
dbms.directories.lib=/usr/share/neo4j/lib
+ 到此 neo4j.conf 文件中。
确保 Neo4j 数据库加上备份进程之间的总物理 RAM 不超过服务器上的总物理 RAM。
此页面是否有帮助?