Neo4j - 无法删除节点 - 获取 java.lang.OutOfMemoryError:Java 堆空间
Posted
技术标签:
【中文标题】Neo4j - 无法删除节点 - 获取 java.lang.OutOfMemoryError:Java 堆空间【英文标题】:Neo4j - Can't delete nodes - getting java.lang.OutOfMemoryError: Java heap space 【发布时间】:2015-07-17 01:28:56 【问题描述】:我在数据库中有 24M 个节点,我想删除 2M。这 2M 个节点没有链接到任何其他节点。 以下是详细信息:
neo4j-sh (?)$ match (n:Description) return count (n);
+-----------+
| count (n) |
+-----------+
| 2151316 |
+-----------+
1 row
3474 ms
neo4j-sh (?)$ match (n:Description) delete (n);
+-------------------+
| No data returned. |
+-------------------+
Nodes deleted: 2151316
9096 ms
Error occurred in server thread; nested exception is:
java.lang.OutOfMemoryError: Java heap space
系统有 16GB 内存。 在文件 neo4j-wrapper.conf 我有:
wrapper.java.initmemory=4096
wrapper.java.maxmemory=8192
在文件 neo4j-server.properties 我有:
neostore.nodestore.db.mapped_memory=512M
neostore.relationshipstore.db.mapped_memory=512M
neostore.propertystore.db.mapped_memory=512M
neostore.propertystore.db.strings.mapped_memory=512M
neostore.propertystore.db.arrays.mapped_memory=512M
我该如何解决这个问题,因为在这个级别的游戏中不能选择删除整个数据库?
【问题讨论】:
【参考方案1】:您可以分批删除它们。
匹配(n:描述) n 限制为 100000 删除 n;
【讨论】:
以上是关于Neo4j - 无法删除节点 - 获取 java.lang.OutOfMemoryError:Java 堆空间的主要内容,如果未能解决你的问题,请参考以下文章