使用sidekiq gem - 我有一个运行进程(大仓库的git-tf克隆)的sidekiq worker,使用IO.popen跟踪stdout以检查克隆的进度。当我运行worker时,我发现sidekiq内存随着时间的推移变得越来越大,直到我获得内核OOM并杀死进程。子进程(java进程)仅占用总内存的5%。
我该如何调试/检查代码中的内存泄漏? sidekiq内存是否为我的带popen进程的worker内存总和?是否有人有任何想法如何解决它?
编辑
这是我的worker代码 - https://gist.github.com/yosy/5227250
编辑2
我在没有sidekiq的情况下运行了代码,我没有内存泄漏...这对于tfs中的sidekiq和大型存储库来说是一件奇怪的事情。
我该如何调试/检查代码中的内存泄漏? sidekiq内存是否为我的带popen进程的worker内存总和?是否有人有任何想法如何解决它?
编辑
这是我的worker代码 - https://gist.github.com/yosy/5227250
编辑2
我在没有sidekiq的情况下运行了代码,我没有内存泄漏...这对于tfs中的sidekiq和大型存储库来说是一件奇怪的事情。