當我嘗試啓動ENV_RAILS=production rails c
(或rake
任務)時,服務器上的某個進程殺手會在幾秒鐘後終止進程,因爲它使用了超過400MB的物理內存。現在我需要找出那個膨脹來自哪裏。服務器`rails c`或`rake` bloat內存
我知道newrelic和oink - 但他們似乎只適用於服務器請求 - 不是控制檯或rake任務。有什麼選擇來調查這個?
當我嘗試啓動ENV_RAILS=production rails c
(或rake
任務)時,服務器上的某個進程殺手會在幾秒鐘後終止進程,因爲它使用了超過400MB的物理內存。現在我需要找出那個膨脹來自哪裏。服務器`rails c`或`rake` bloat內存
我知道newrelic和oink - 但他們似乎只適用於服務器請求 - 不是控制檯或rake任務。有什麼選擇來調查這個?
嗯,我還沒有使用它很多,但你可以嘗試探查http://ruby-prof.rubyforge.org/
Heroku的建議,總是讓耙,特別是如果實現了多條記錄。 這並不複雜,創建耙子,創建一個文件。瑞克的lib /任務/ clear_cache.rake
namespace :admin do
desc "Start clear cache"
task :clear_cache => :environment do
puts "preparing"
Rails.cache.clear
puts "Sucess"
end
end
運行,執行命令: 「耙clear_cache」 For more details