rails - 為rails消耗的記憶體做檢測 memory leak 檢測工具 derailed_benchmarks
參考:https://github.com/schneems/derailed_benchmarks
安裝:
# 檢測記憶體洩漏 gem 'derailed_benchmarks', group: :development gem 'stackprof', group: :development
然後 $ bundle就可以
執行:
1. 檢視各種Gem佔用的記憶體
root@test-server:/opt/app/test.wondercv.com/current# bundle exec derailed bundle:mem TOP: 117.3281 MiB rails/all: 21.5273 MiB rails: 9.9023 MiB (Also required by: active_record/railtie, active_model/railtie, and 12 others) active_support/railtie: 4.5859 MiB active_support/i18n_railtie: 4.5859 MiB active_support/file_update_checker: 2.6797 MiB (Also required by: rails/application/configuration) active_support/core_ext/time/calculations: 2.6797 MiB (Also required by: active_support/core_ext/time, active_support/core_ext/numeric/time) active_support/core_ext/time/conversions: 2.0195 MiB (Also required by: active_support/core_ext/time, active_support/core_ext/date_time/conversions) active_support/values/time_zone: 1.7695 MiB (Also required by: active_support/time_with_zone, active_support/core_ext/date_time/conversions) tzinfo: 1.7695 MiB tzinfo/timezone: 0.5156 MiB awesome_rails_console: 6.5273 MiB awesome_rails_console/railtie: 6.5078 MiB pry-rails: 6.0273 MiB pry: 6.0273 MiB pry/cli: 2.8281 MiB /root/.rbenv/versions/2.3.8/lib/ruby/gems/2.3.0/gems/pry-byebug-3.6.0/lib/pry-byebug/cli.rb: 2.8281 MiB pry-byebug/pry_ext: 2.4492 MiB byebug/processors/pry_processor: 2.4492 MiB byebug/core: 2.4492 MiB byebug/commands: 1.8711 MiB byebug/commands/irb: 0.7461 MiB (Also required by: /root/.rbenv/versions/2.3.8/lib/ruby/gems/2.3.0/gems/byebug-10.0.2/lib/byebug/settings/autoirb.rb) irb: 0.7461 MiB irb/ruby-lex: 0.4922 MiB pry/commands: 1.6602 MiB awesome_print: 0.4805 MiB uglifier: 5.7539 MiB execjs: 4.543 MiB (Also required by: coffee_script) execjs/runtimes: 0.6445 MiB uglifier/version: 0.9922 MiB amoeba: 4.4961 MiB active_record/base: 3.9805 MiB active_record/validations: 0.7734 MiB active_model/validations: 0.5156 MiB active_record/querying: 0.3711 MiB pg: 3.9648 MiB pg_ext: 3.707 MiB