2

我们正在运行利用neography 进行批处理操作的sidekiq 工作人员。

我们的批处理数组在刷新之前最多可容纳 400 次操作(我们也尝试过更低的数字)。

我们在 heroku 上遇到了 R14 内存错误,事情几乎停止了,所以我们怀疑某种内存泄漏(我已经检查过膨胀)。但是,我们一直无法弄清楚它在哪里或如何防止它。

我们尝试将所有调试内存 gem 用作 ruby​​-prof,[...] 没有任何结果或线索,通过ObjectSpace读取对象计数,甚至尝试逐行调试并在没有后台作业的情况下启动进程,但只是通过和rails c下面的命令来监控内存使用情况top -pid `ps auw | grep -i 'rails c' | head -n 1 | awk '{print $2}'` -stats RSIZE

我尝试将我们的 ruby​​ 版本更新到最新版本(2.1.0),但没有任何变化。

欢迎任何想法帮助我们让我们的工人更快乐!

4

1 回答 1

0

Neo4j 内部使用了大量缓存,这可能会消耗大量内存。您可以尝试通过设置关闭 Neo4j 的对象缓存cache_type=none,请参阅http://docs.neo4j.org/chunked/stable/configuration-caches.html

于 2014-03-19T14:27:23.343 回答