開発日記/2010-05-06
今度は別なエラーが出てサーバが止まってしまった。。。。 †
May 4 14:46:54 dns kernel: [602177.703839] php-cgi invoked oom-killer: gfp_mask=0x280da, order=0, oomkilladj=0 May 4 14:46:55 dns kernel: [602177.703839] php-cgi cpuset=/ mems_allowed=0 May 4 14:46:55 dns kernel: [602177.703839] Pid: 5674, comm: php-cgi Not tainted 2.6.31-302-rs #7 May 4 14:46:55 dns kernel: [602177.703839] Call Trace:
前回はプログラムの問題で高負荷になって止まったけど、今回は本当に高負荷だけでアクセス負荷になってしまった。
これはApacheのチューニングで対処しないと
こんな感じに修正してみました。
# vi /etc/httpd/conf/httpd.conf StartServers 8 MinSpareServers 5 MaxSpareServers 20 #ServerLimit 256 ServerLimit 30 #MaxClients 256 MaxClients 15 #MaxRequestsPerChild 4000 MaxRequestsPerChild 500 RLimitCPU 60 RLimitMEM 209715200 # 200M (200x1024x1024) RLimitNPROC 10
※RLimitMEMはphp.iniのmemory_limitより大きい数字じゃないと、phpでこんなエラーがでちゃいます。
[Thu May 06 13:17:11 2010] [error] [client 202.215.147.106] PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/soap.so' - /usr/lib64/php/modules/soap.so: failed to map segment from shared object: Cannot allocate memory in Unknown on line 0, referer: http://matsui.homeunix.com/index.php?cmd=edit&page=%B3%AB%C8%AF%C6%FC%B5%AD%2F2010-05-06 [Thu May 06 13:24:28 2010] [error] [client 216.129.119.12] FATAL: erealloc(): Unable to allocate 491520 bytes [Thu May 06 13:24:28 2010] [error] [client 216.129.119.12] Premature end of script headers: index.php
後は様子見。