【发布时间】:2016-10-29 14:25:01
【问题描述】:
我最近在使用 neo4j。我的数据大小适中:不到 500 万个节点、大约 2400 万条边和 3000 万个属性。根据 MySQL 或 Oracle 等传统关系型数据库,这个数据量并不大。但是当我运行 neo4j 时,它似乎对内存要求很高。对我来说,数据库不应该对内存要求很高:如果您有足够的内存并允许使用尽可能多的内存,它将执行得更快。但是如果你没有太多的内存,它应该仍然可以工作。但是对于 neo4j,它有时会被中断(由于内存不足)(并非始终如一,但很烦人,因为我希望数据库更可靠)。
更具体地说,我有一台 8G 内存的 Linux 机器。我只允许 2G 的初始和最大堆大小来运行图形数据。
有人遇到过类似情况吗?有什么解决办法吗?
【问题讨论】:
-
您是否有很多大笔交易同时进行?任何打开的事务在提交之前都存储在堆中,因此如果您向同一个事务发送多个语句,您将遇到堆问题。这些参数对于 neo4j 来说是非常低端的,但我的服务器具有相同的限制和期望,没有内存问题,所以这可能是一个使用问题。什么活动触发了 OOM 错误?
-
嗯,我得到了日志:无法利用 WebApplicationException 的响应,因为响应已经是 comm$ javax.ws.rs.WebApplicationException: javax.ws.rs.WebApplicationException: org.eclipse。 jetty.io.EofException
-
如果是堆内存的问题,你应该在
$NEO_HOME/logs/debug.log看到一些东西。更新:我对这个错误无能为力,不幸的是,它已经超出了我的想象。不过,我认为这不是堆问题。 -
这不是一个编程问题,并且与 StackOverflow 无关。对于 Neo Technology 来说可能是一个很好的问题,可能在支持论坛、推特、github 问题等上。但不是在这里。
标签: neo4j