GMO クラウドで動かしていた、ツイートを一覧表示するプログラム、AWS の Amazon Lunux 2 に持って行って動かすと 10 回ぐらい動かすと「Segmentation Fault」でエラーになる。
それでもリスタートしないでおくと、順に
- WordPress がエラー画面
- Apache が落ちる
- SSH も繋がらなくなる
GMO クラウドでは1年間リスタートなしで動いているのに、Amazon Linux 2 では1週間と経たずに落ちる。メモリリークかと思って色々調べていたんだけど、原因は PHP のプログラムにあるっぽい。
PHP のガベージコレクションを信じるな。
使い終わったオブジェクトを unset するようにプログラムを書き換えたら、2 日経った今のところ、大丈夫そう。