0

我創建了用於構建數據庫或其某些部分的備份的控制器函數,但是在創建發送給它們的文件之後,分配的內存不會釋放。Activerecord在構建文件後不釋放內存

使用rack-mini-profiler gem進行的內存使用報告顯示,大部分內存被ActiveReccord佔用,最終未釋放內存。完整的報告是here

+0

代碼創建文件 File.open(zip_data_path, 'R')做| F | SEND_DATA f.read,類型: '應用程序/壓縮',文件名: 「#{MODEL_NAME}的.zip」 端 File.delete(zip_data_path) –

回答

0

這是我爲減少內存問題所做的(未完全解決)。

將數據庫密集型代碼寫入如下所示的塊中。你

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

也可以嘗試在行動結束與GC.start運行垃圾收集器。

讓我知道,如果這有助於