Использование sidekiq gem - у меня есть сторонний рабочий, который запускает процесс (git -tf клон большого репозитория) с помощью IO.popen и отслеживает stdout, чтобы проверить ход клона.
Когда я запускаю рабочего, я вижу, что память sidekiq увеличивается с течением времени, пока я не получу ядро OOM, и процесс будет убит. подпроцесс (Java-процесс) занимает всего 5% от общей памяти.
Как я могу отлаживать/проверять утечку памяти в моем коде? и является ли память sidekiq общей суммой моей рабочей памяти с процессом popen?
И кто-нибудь знает, как это исправить?
ИЗМЕНИТЬ
Это код моего работника -
https://gist.github.com/yosy/5227250
РЕДАКТИРОВАТЬ 2
Я запускал код без sidekiq, и у меня нет утечек памяти.. это что-то странное с sidekiq и большими репозиториями в tfs