0
我創建了用於構建數據庫或其某些部分的備份的控制器函數,但是在創建發送給它們的文件之後,分配的內存不會釋放。Activerecord在構建文件後不釋放內存
使用rack-mini-profiler gem進行的內存使用報告顯示,大部分內存被ActiveReccord佔用,最終未釋放內存。完整的報告是here。
我創建了用於構建數據庫或其某些部分的備份的控制器函數,但是在創建發送給它們的文件之後,分配的內存不會釋放。Activerecord在構建文件後不釋放內存
使用rack-mini-profiler gem進行的內存使用報告顯示,大部分內存被ActiveReccord佔用,最終未釋放內存。完整的報告是here。
這是我爲減少內存問題所做的(未完全解決)。
將數據庫密集型代碼寫入如下所示的塊中。你
ActiveRecord::Base.connection_pool.with_connection do
write your code here...
end
也可以嘗試在行動結束與GC.start
運行垃圾收集器。
讓我知道,如果這有助於
代碼創建文件 File.open(zip_data_path, 'R')做| F | SEND_DATA f.read,類型: '應用程序/壓縮',文件名: 「#{MODEL_NAME}的.zip」 端 File.delete(zip_data_path) –