我有一个使用IO.popen运行进程(大型存储库的git克隆)并跟踪stdout以检查克隆进度的sidekiq工作者。
当我运行这个工作程序时,我看到当我得到内核OOM和进程被杀死之前,当我得到内核OOM之前,sidekiq内存正在变得越来越大。子进程(java进程)只占用总内存的5%。
如何调试/检查代码中的内存泄漏?当我的工作人员的内存和波芬进程在一起时,该内存是否是我的员工内存的总和?
有谁知道怎么修吗?
编辑
这是我的工作人员的代码- https://gist.github.com/yosy/5227250
编辑2
我运行代码时没有侧翼,也没有内存泄漏..这是一些奇怪的东西,在tfs中使用了sidekiq和大型存储库。
发布于 2013-03-28 13:43:47
我没有找到导致内存泄漏的原因,但我找到了一个离开塞德基克的方法。
我对git-tf进行了修改,使服务器命令可以接受redis队列中的命令,它从我的代码中消除了很多复杂性。
修改后的git-tf版本如下:https://github.com/yosy/gittf
稍后,我将在修复一些bug时添加有关sever命令的文档。
https://stackoverflow.com/questions/15533869
复制相似问题