Мы запускаем рабочих sidekiq, которые используют неографию для выполнения пакетных операций.
Наш пакетный массив содержит до 400 операций перед сбросом (мы пробовали и меньшие числа).
Мы сталкиваемся с ошибкой памяти R14 на героку, и все почти останавливается, поэтому мы подозреваем какую-то утечку памяти (я уже проверил на раздувание). Однако мы не смогли выяснить, где он находится и как его предотвратить.
Мы пытались использовать весь гем памяти отладки как ruby-prof, [...] без каких-либо результатов или подсказок, считывайте количество объектов через ObjectSpace и даже пытается отладить построчно и запустить процесс без фонового задания, а просто через rails c
и следующую команду для контроля использования памяти top -pid `ps auw | grep -i 'rails c' | head -n 1 | awk '{print $2}'` -stats RSIZE
.
Я попытался обновить нашу рубиновую версию до последней версии (2.1.0), но никаких изменений.
Приветствуются любые идеи, которые помогут нам сделать наших работников счастливее!