了解 neo4j-admin backup 的内存配置
在使用 bin\neo4j-admin backup 对 Neo4j 数据库进行备份时,Neo4j 支持团队建议显式定义备份 JVM 进程使用的 JVM 堆大小和 pagecache 内存。如果未定义这些参数,当执行 neo4j-admin backup 时,JVM 将分配默认的堆大小,而 pagecache 将使用 conf/neo4j.conf 中 dbms.memory.pagecache.size 设置的值。多数情况下,conf/neo4j.conf 中的这些参数会占用超过 60% 的总内存。因此,如果 neo4j-admin backup 为堆和 pagecache 分配与正在运行的 Neo4j 进程相同的数值,就会耗尽所有可用内存,导致备份失败和内存不足的情况。
要为 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 数据库和备份进程合计使用的内存不超过服务器的物理总内存。
此页面有帮助吗?