

タイトルの通りですが、 Rails 5 + Puma + Nginx の構成で、メモリが決まった時間（毎時57分ごろ）に解放されるのは仕様でしょうか？

主な利用バージョンは下記の通りです。

  * Ruby: 2.4.2
  * Ruby on Rails: 5.0.6
  * Puma: 3.11.2
  * Nginx: 1.12.2

サーバーは 3 台あり、下記のような構成になっています。

[code]

    A サーバー (Nginx) ┬ B サーバー (Puma)
                      └ C サーバー (PUma)
    
[/code]

おそらく Puma のメモリかなと思っていまして、 Puma
にそのような機能があるか調べて見たのですが、そういった仕様を確認することができませんでした。（メモリが解放されるタイミングで、 Puma の worker
のプロセス ID が変わっていたので、 Puma の worker が再起動されたように見受けられます。）

下記は NewRelic の Memory Used % のグラフですが、青と赤の線が Puma
の動いているサーバーで、前述の毎時57分ごろにメモリ使用量がガクッと下がっていることが確認できます。

[![Memory Used
%](https://i.stack.imgur.com/1WIHw.png)](https://i.stack.imgur.com/1WIHw.png)

ちなみに、 puma_worker_killer は使用していません。

そこでお伺いしたのですが、これは Puma 、 Nginx （または Rails
）の仕様でしょうか？仕様である場合、仕様が書かれたドキュメントがあればご教示いただきたいです。


CC BY-SA 3.0
2018-03-13T02:17:57.280
42362
2019-07-23T06:39:49.057
8160
question
ruby-on-rails nginx
Ruby on Rails 5 + Puma + Nginx の構成で、メモリが決まった時間に解放されるのは仕様でしょうか？


本件ですが、 Linux OS の logrotate で Rails アプリケーションのログのローテーションしていたのですが、ログローテート時に puma
を再起動していたためでしたmm （再起動しないと puma が新しい出力先にログを出力しないため。）


CC BY-SA 4.0
2019-07-23T06:39:49.057
56836
2019-07-23T06:39:49.057
8160
42362
answer