□Apacheのメモリ消費と開放について
□Apacheのメモリ消費と開放について
先日、OpenPNEとWordPressがいくつか動いている自宅サーバーを、節電の
ためにVPSサーバー(CentOS+Xen環境)に移行したら、最初はうまく動いて
いるようだったが、いつのまにかハングしていた。
様子を見ているとApacheがメモリを大量に握ったままのようで、たぶんに
アクセスが集中したからかなと思っているのだけど、どうだろう?
(なにぶんリアルタイムに監視していたわけではないので判らない)
まずは /etc/httpd/conf.d/ の中のいらないファイルをすべて ./conf.org/
とか適当なディレクトリを作ってそこに移動することで、Apacheに要らない
モジュールを読み込ませないようにしてメモリ削減をしてみた。
manual.conf
mrtg.conf
perl.conf
proxy_ajp.conf
python.conf
squid.conf
ssl.conf
webalizer.conf
それでも結構Apacheがメモリを握ったままで、暇な自宅サーバーだから
いいものの、アクセスが多いサーバーではこれはまずいでしょ?
> PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
> 13459 apache 15 0 409m 56m 36m S 0.0 5.5 0:00.92 httpd
> 13462 apache 15 0 408m 55m 36m S 3.0 5.5 0:00.88 httpd
> 13457 apache 15 0 408m 43m 23m S 0.0 4.2 0:00.65 httpd
> 13431 apache 15 0 408m 42m 23m S 0.0 4.2 0:00.90 httpd
> 13458 apache 15 0 407m 42m 23m S 0.0 4.1 0:00.76 httpd
> 13574 apache 15 0 407m 41m 22m S 0.0 4.0 0:00.45 httpd
> 13548 apache 15 0 407m 33m 14m S 0.0 3.2 0:00.37 httpd
> 13516 apache 15 0 407m 33m 14m S 0.0 3.2 0:00.99 httpd
> 13424 apache 15 0 407m 32m 13m S 0.0 3.2 0:00.36 httpd
で、このVPSサーバーはOpenPNEとWordPressだけなんだけど、とにかく
メモリをそこそこ開放してほしいなぁということで、MaxRequestsPerChild
を1000から100とかに落としてみても、サイトはもっさりのままだし、
メモリは握ったままだし、ポイントが違うのかなと悩んでます。
処理を早くするためにeAcceleratorを入れているのがいけないのか?
とか、いろいろはずしたり入れたりしたものの改善せず…うーん。
http://www.drk7.jp/MT/archives/000600.html
とかみると、やはりメモリにぎにぎし過ぎなので、とりあえずMaxClientを
絞るなどして、サーバーハングな状況だけは回避する方向にしないとね。
(VPSサーバーは1GB-MEM設定なので)
あとはMaxRequestsPerChildをとりあえず10にしてみて、キャッシュ効果は
eAcceleratorに任せることで様子を見ることにしてみるか。