Subscribed unsubscribe Subscribe Subscribe

Rubyでメモリ管理

Oinkを利用します。

config/application.rb

config.logger = Hodel3000CompliantLogger.new(STDOUT)

config/initializers/oink.rb

Rails.application.middleware.use(Oink::Middleware, logger: Hodel3000CompliantLogger.new(STDOUT))

herokuの場合ログにprependされてしまうので、
vimでログを解析する場合の一例を示します。

$ heroku logs --tail --app YOUR_APP_NAME > log.txt
$ vim log.txt
// heroku出力部分を削除
:%s/\S* \S* //
// Oink以外のログを削除 
:g!/Oink\|Memory\|Instantiation/d
// 保存してvimを終了
:wq
$ oink log.txt --threshhold=10

などするとoinkがメモリを食ってる処理を表示してくれます。