当我尝试启动ENV_RAILS=production rails c
(或rake
任务)时,服务器上的某个进程杀手会在几秒钟后杀死该进程,因为它使用了超过 400mb 的物理内存。现在我需要找出那个肿块是从哪里来的。服务器
我知道 newrelic 和 oink - 但它们似乎只适用于服务器请求 - 而不是控制台或 rake 任务。有哪些选择可以对此进行调查?
当我尝试启动ENV_RAILS=production rails c
(或rake
任务)时,服务器上的某个进程杀手会在几秒钟后杀死该进程,因为它使用了超过 400mb 的物理内存。现在我需要找出那个肿块是从哪里来的。服务器
我知道 newrelic 和 oink - 但它们似乎只适用于服务器请求 - 而不是控制台或 rake 任务。有哪些选择可以对此进行调查?
嗯,我用的不多,但你可以试试探查器http://ruby-prof.rubyforge.org/
Heroku 建议总是做 rake,尤其是在实现有很多记录的情况下。这并不复杂,创建耙子,创建文件。耙入 lib/tasks/clear_cache.rake
namespace :admin do
desc "Start clear cache"
task :clear_cache => :environment do
puts "preparing"
Rails.cache.clear
puts "Sucess"
end
end
要运行,请执行命令:“rake clear_cache” 了解更多详细信息