ruby-on-rails – Sidekiq工作人员正在泄漏记忆

使用sidekiq gem – 我有使用IO.popen运行进程(git-tf克隆大存储库)的sidekiq worker,并跟踪stdout以检查克隆的进度.

当我运行该工作时,我看到sidekiq内存越来越大,直到我获得内核OOM并且进程被杀死.子进程(java进程)只占总内存的5%.

我如何调试/检查内存泄漏我在我的代码?并且sidekiq记忆是我的工作人员记忆与popen过程的总和?
有没有人有任何想法如何解决它?

编辑
这是我工人的代码
https://gist.github.com/yosy/5227250

编辑2
我运行的代码没有sidekiq,我没有内存泄漏..这是一个奇怪的sidekiq和大型存储库在tfs

解决方法

我没有发现sidekiq内存泄漏的原因,但是我发现从sidekiq得到一个方法.

修改了git-tf以使服务器命令从redis队列接受命令,它从我的代码中消除了很多复杂性.

git-tf的修改版本在这里
https://github.com/yosy/gittf

当我将修复一些错误时,我将在后面添加关于服务器命令的文档.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...