Neo4j 不必要的还原回dbms.memory.heap.max_size的原始值

Neo4j 不必要的还原回dbms.memory.heap.max_size的原始值,neo4j,Neo4j,我在docker中使用Neo4j(3.1.0版)。当我遇到错误时,我尝试用一个查询更新整个数据库: 内存不足,无法执行当前任务。请试一试 在neo4j配置中增加“dbms.memory.heap.max_size” (通常在'conf/neo4j.conf'中,或者,如果您使用的是neo4j桌面, 通过用户界面找到)或如果您正在运行嵌入式 安装通过使用'-Xmx'命令行标志增加堆,以及 然后重新启动数据库 所以我去设置配置文件条目: dbms.memory.heap.initial_size=5

我在docker中使用Neo4j(3.1.0版)。当我遇到错误时,我尝试用一个查询更新整个数据库:

内存不足,无法执行当前任务。请试一试 在neo4j配置中增加“dbms.memory.heap.max_size” (通常在'conf/neo4j.conf'中,或者,如果您使用的是neo4j桌面, 通过用户界面找到)或如果您正在运行嵌入式 安装通过使用'-Xmx'命令行标志增加堆,以及 然后重新启动数据库

所以我去设置配置文件条目:

dbms.memory.heap.initial_size=512M
dbms.memory.heap.max_size=512M

我给了他们两个2048万英镑(正如我读到的,这两个更好匹配)。但在保存并重新启动docker后,条目将恢复为其512M原始值。为了确保这不是docker的问题,我在配置中写了一些注释行,它仍然存在。这意味着Neo4j有意恢复这些值。但是为什么呢?这是docker强加的限制吗?因为我的硬件有足够的内存

如果您使用的是标准docker映像,
/docker\u entrypoint.sh
将根据环境变量设置内存或将其默认为512M

setting "dbms.memory.heap.initial_size" "${NEO4J_dbms_memory_heap_maxSize:-512M}"
setting "dbms.memory.heap.max_size" "${NEO4J_dbms_memory_heap_maxSize:-512M}" 
实例化docker容器时,将--env NEO4J_dbms_memory_heap_maxSize=2048添加到命令中