了解 neo4j-admin 备份的内存配置
当使用 bin\neo4j-admin backup
备份 Neo4j 数据库时,Neo4j 支持建议明确定义备份 JVM 进程使用的 JVM 堆大小和 pagecache 内存。如果未定义这些参数,则执行 neo4j-admin backup
时,JVM 将分配默认堆大小,pagecache 将使用 conf/neo4j.conf 中 dbms.memory.pagecache.size
设置定义的值。在大多数情况下,conf/neo4j.conf
定义的这些参数会占用总 RAM 的 60% 以上。因此,如果 neo4j-admin backup
分配的堆和 pagecache 值与正在运行的 Neo4j 进程相同,我们将消耗所有可用 RAM,导致备份失败和内存不足的情况。
要为 neo4j-admin backup
指定 JVM 堆,请设置环境变量 HEAP_SIZE,例如
$ export HEAP_SIZE=2G
要为 neo4j-admin backup
指定 pagecache 分配,
-
Neo4j 3.3.1 及更高版本 由于 PR 10463 的结果,通过命令行参数
--pagecache=XXM
指定 pagecache 值将 XX 替换为要分配给 pagecache 的兆字节数。--pagecache 命令行参数将覆盖任何 neo4j.conf 文件中定义的所有其他 pagecache 设置。
-
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 总量。
此页面是否有帮助?