Apache2 + mod_perl2 環境で再起動するまでメモリ使用量が増え続ける問題の解決策
とあるアプリケーションを Apache2 + mod_perl2 の1層構造で運用していたところ、
httpd プロセスがメモリを消費しつづけ解放せず、ログローテートのタイミングでメモリが解放される現象がありました。
原因は MaxRequestsPerChild の設定にありました。
運用時 0 としていたためにプロセスが期限切れを迎えても終了しないことからメモリ使用量が増え続けていました。
参照:http://httpd.apache.org/docs/2.0/ja/mod/mpm_common.html#maxrequestsperchild
ということで、まずは 100 程度に設定して様子を見たところと、
定期的にメモリが解放されることを確認しました。
$ sar -r 1 0