物理メモリが不足したらpumaを自動で再起動

概要

  • pumaがどんどんメモリを食っていってしまう。同様に、sidekiqもたくさんメモリを食ってしまっている。
  • GCしても減らない。
ObjectSpace.each_object(ActiveRecord::Relation).each(&:reset)
GC.start
オレンジはswap used. 減るときは再起動しているタイミング。
  • 物理メモリが80%以上使われていたらpumaを再起動するスクリプト書いた。

Puma

Sidekiq

導入結果

  • swapにまで食い込まなくなりました。

matsubokkuri

マインディアにてCTOをしています。

あわせて読みたい

1件の返信

  1. matsubokkuri より:

    OSの方で最適化がかかって、物理メモリが80%未満になって、swapされるような感じもするから発動タイミングは要調整。だけど、ほとんどの場合は問題無し。

コメントを残す