我们正在运行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),但没有任何更改。
欢迎任何想法帮助我们让我们的员工更快乐!
发布于 2014-03-19 14:27:23
Neo4j在内部使用了大量缓存,这可能会消耗大量内存。您可以尝试通过设置cache_type=none
来关闭neo4j的对象缓存,请参阅http://docs.neo4j.org/chunked/stable/configuration-caches.html。
https://stackoverflow.com/questions/22497672
复制相似问题