###前提・実現したいこと
ApacheにおいてPHPのメモリリークと思われる現象により、メモリが30分に2~3MB程度ずつ増加していっています。増加をとめるかApacheの全体メモリを1GB程度で抑えて正常稼動させたいと考えています。
※本来はプログラムの修正を行うのが当然ですが
※担当部署が異なり緊急対応が必要な為難しい状態です。
質問は1点です。
- 何か有効な対応策があればご教示下さい。
CronでのApache定期再起動は最終手段と考えています。
###発生している問題・エラーメッセージ
top - 15:45:21 up 77 days, 4:57, 1 user, load average: 1.66, 2.15, 2.01 Tasks: 159 total, 1 running, 158 sleeping, 0 stopped, 0 zombie Cpu(s): 2.7%us, 3.1%sy, 0.0%ni, 93.6%id, 0.3%wa, 0.0%hi, 0.2%si, 0.1%st Mem: 5823320k total, 4310684k used, 1512636k free, 713208k buffers Swap: 2064380k total, 3156k used, 2061224k free, 883008k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 14511 webuser 20 0 1548m 1.1g 4444 S 8.3 19.7 0:00.27 httpd 14514 webuser 20 0 1548m 1.1g 5528 S 4.0 19.7 0:00.19 httpd 14547 webuser 20 0 1548m 1.1g 4736 S 1.3 19.7 0:00.06 httpd 14510 webuser 20 0 1548m 1.1g 5496 S 0.7 19.7 0:00.16 httpd ※Apache再起動直後のApache子プロセスの使用メモリは20MB前後 ※先日はSWAPが発生しPHPスクリプトの一部機能が動かず障害が発生
###試したこと
Apacheのコンフィグに
MaxRequestsPerChild 30
を設定した結果、子プロセスはリクエストにより周期的に循環を行っているようですが、新しく生まれたApache子プロセスのVIRTとRESの値はリセットされず継承され現在も増加する不都合が起こっています。
現在のApache設定
<IfModule prefork.c>
StartServers 10
MinSpareServers 4
MaxSpareServers 20
ServerLimit 100
MaxClients 100
MaxRequestsPerChild 30
</IfModule>
###補足情報(言語/FW/ツール等のバージョンなど)
CentOS6.5 Apache2.2 PHP5.3.3
何卒宜しくお願いします。

回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/25 06:38