物理メモリが不足したらpumaを自動で再起動 Ruby on Rails X Facebook はてブ Pocket LINE コピー 2019.06.202019.07.03 Table of contents 概要PumaSidekiq導入結果 概要 pumaがどんどんメモリを食っていってしまう。同様に、sidekiqもたくさんメモリを食ってしまっている。GCしても減らない。 ObjectSpace.each_object(ActiveRecord::Relation).each(&:reset) GC.start オレンジはswap used. 減るときは再起動しているタイミング。 物理メモリが80%以上使われていたらpumaを再起動するスクリプト書いた。 Puma Sidekiq 導入結果 swapにまで食い込まなくなりました。
Comments
OSの方で最適化がかかって、物理メモリが80%未満になって、swapされるような感じもするから発動タイミングは要調整。だけど、ほとんどの場合は問題無し。
こちらによって根本解決しました。
https://tech.studyplus.co.jp/entry/2019/09/09/094140