Сборщик мусора в Ruby - это алгоритм разметки и метки: (1) начните с экземпляра Object, а затем пройдитесь по каждому достижимому объекту, отмечая его по пути (2), затем обойдите ObjectSpace для каждой ссылки на объект и удалите те, которые не являются отмечены.
Вот некоторые материалы по устранению проблем с памятью GC: * 1003 *http://blog.evanweaver.com/articles/2009/04/09/ruby-gc-tuning/
Единственные вещи в вашем приложении rails, которые являются долгоживущими, это классы и модули. Имея это в виду, некоторые места для поиска:
1) эти активные экземпляры записей спрятаны в переменной класса
2) как-то кешируется промежуточным ПО стойки
3) удерживается пулом соединений с активной записью базы данных
4) используете ли вы финализаторы ruby (печально известные утечками памяти при неправильном использовании), см. Eigenclass.org/hiki/deferred-finalizers-in-Ruby
Извините, что я просто публикую кучу идей и несколько решений. Надеюсь, это заставит вас задуматься о новых направлениях.
Благословения,
Ьнр