通常Neo4jImport不应该在大堆上,它将使用任何可用的堆然后使用任何可用的offheap,但是需要一些“样板”内存以使机器正常工作。最近有一个修复(在2.3.3中)减少了导入工具的堆使用量,这肯定会对此有所帮助。
我找到了解决方案。最终允许我更改Neo4jImport工具的堆大小的是在文本编辑器中打开neo4jImport.bat文件(路径是C:Program files \ neo4j \ bin)(首先要求我更改权限)并更改“set” EXTRA_JVM_ARGUMENTS = -Dfile.encoding = UTF-8“line to
set EXTRA_JVM_ARGUMENTS=-Dfile.encoding=UTF-8 -Xmx10G -Xms10G -Xmn2G
现在,当我在neo4j shell中运行Neo4jImport时,它显示的堆大小为9.75 GB。
不能告诉Windows,但在Linux上 neo4j-wrapper.conf 不用于 neo4j-import 工具。相反,您可以使用传递其他JVM参数 JAVA_OPTS 环境变量(这里再次是Linux语法):
neo4j-wrapper.conf
neo4j-import
JAVA_OPTS
JAVA_OPTS="-Xmx10G" bin/neo4j-import
要验证这种方法,请修改 -XX:+PrintCommandLineFlags 以上。在输出的开头,您应该看到类似的行
-XX:+PrintCommandLineFlags
-XX:InitialHeapSize=255912576 -XX:MaxHeapSize=4094601216 \n -XX:+PrintCommandLineFlags -XX:+UseCompressedClassPointers \n -XX:+UseCompressedOops -XX:+UseParallelGC
如果那个出现,使用 JAVA_OPTS 是要走的路。