Neo4j - 无法删除节点 - 获取java.lang.OutOfMemoryError:Java堆空间


1

我有db中的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 

我怎样才能解决这个问题,因为删除整个DB是不是在这个级别的游戏选项?

3

您可以在较小的批次中删除它们。

match(n:Description) with n limit 100000 DELETE n;

  0

完美,这是工作。 06 5月. 152015-05-06 19:09:01