多余的还原回dbms.memory.heap.max_size的原始内容



我正在docker中使用neo4j(v。3.1.0)。当我面对错误时,我尝试使用单个查询更新整个数据库:

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

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

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

我给了他们两个2048m(正如我在这里读到的这两个更好的匹配)。但是,在保存并重新启动Docker之后,条目将恢复为其512m原始值。为了确保这不是Docker问题,我在配置中写了一些评论行,并且会粘贴。这意味着该值是有意恢复的。但为什么?这是Docker施加的限制吗?因为我的硬件有足够的内存!

如果您使用的是标准Docker映像,则/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添加到命令中。

最新更新