Я использую delayed_job collectiveidea со своим приложением (v2.3.8) Ruby on Rails и выполняю приблизительно 40 фоновых заданий с ним на 8 ГБ RAM машина Slicehost (Ubuntu 10.04 LTS, Apache 2).
Скажем, я ssh в мой сервер без рабочих, работающих. Когда я делаю free -m
, Я, видят, что я обычно использую приблизительно 1 ГБ RAM из 8. Затем после запуска рабочих и ожидания приблизительно минута для них, чтобы быть использованным кодом, я готов приблизительно к 4 ГБ. Если я возвращусь через час или два, то я буду на уровне 8 ГБ и в память подкачки, и мой веб-сайт будет генерировать 502 ошибки.
До сих пор я просто уничтожал рабочих и перезапускал их, но я зафиксировал бы корень проблемы. Какие-либо мысли? Действительно ли это - утечка памяти? Или, как предложенный друг, я должен выяснить способ выполнить сборку "мусора"?