不需要的还原为dbms.memory.heap.max_size的原始版本

时间:2017-02-27 15:29:19

标签: neo4j

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

  

没有足够的内存来执行当前任务。请试试   在neo4j配置中增加'dbms.memory.heap.max_size'   (通常在'conf / neo4j.conf'或者,如果你使用的是Neo4j Desktop,   通过用户界面找到)或者如果您正在运行嵌入式   安装通过使用'-Xmx'命令行标志来增加堆,和   然后重启数据库。

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

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

我给他们两个2048M(因为我读过here这两个更好匹配)。但是在保存并重新启动docker之后,条目将恢复为其512M原始值。为了确保它不是一个docker问题,我在配置中写了一些评论行,并坚持下去。这意味着Neo4j故意还原这些值。但为什么?这是码头工人的限制吗?因为我的硬件有足够的内存!

1 个答案:

答案 0 :(得分:3)

如果您使用标准泊坞窗图像,/docker_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添加到命令中。