Activerecord не освобождает память после сборки файлов

Я создал функцию контроллера для создания резервной копии базы данных или какой-либо ее части, но после создания отправленных им файлов выделенная память не освобождается.

Отчет об использовании памяти, выполненный с использованием гема rack-mini-profiler, показывает, что большую часть памяти занимает ActiveReccord, и в конце концов он не освобождается. Полный отчет здесь.

1 ответ

Вот что я сделал, чтобы уменьшить проблемы с памятью (не полностью решены).

Напишите интенсивный код базы данных в блоке, написанном как ниже.

ActiveRecord::Base.connection_pool.with_connection do
  write your code here...
end

Также вы можете попробовать запустить сборщик мусора с GC.start в конце действия.

Позвольте мне знать, если это помогает

Другие вопросы по тегам