ちょびっとのアクセスでやたらapacheが落ちるという現象が起きていた。
/usr/local/apache2/logs/error_logをみてみるとこんなログが・・・
/usr/local/apache2/logs/error_logをみてみるとこんなログが・・・
[alert] (11)Resource temporarily unavailable: setuid: unable to change to uid: 48さー調べるか・・・
[alert] Child 26688 returned a Fatal error... Apache is exiting!
[alert] (11)Resource temporarily unavailable: setuid: unable to change to uid: 48
[emerg] (43)Identifier removed: couldn't grab the accept mutex
[emerg] (43)Identifier removed: couldn't grab the accept mutex
[emerg] (43)Identifier removed: couldn't grab the accept mutex
[emerg] (22)Invalid argument: couldn't grab the accept mutex
[emerg] (22)Invalid argument: couldn't grab the accept mutex
[emerg] (22)Invalid argument: couldn't release the accept mutex
[emerg] (22)Invalid argument: couldn't grab the accept mutex
[emerg] (22)Invalid argument: couldn't grab the accept mutex
[emerg] (22)Invalid argument: couldn't grab the accept mutex
[emerg] (22)Invalid argument: couldn't grab the accept mutex
結論からいうとサーバーのOS(CentOS)のmax user processesがなんと20と異常な低さだったことが原因だった。
これはデフォルトでも2000なんぼとか4000なんぼのはずなんだけど・・・。
とりあえず
ulimit -u 2048
ulimit -a
~前略~
max user processes (-u) 2048
~後略~
これで今まで確実に落ちていた量の負荷を再度かけたがぜんぜん平気だった。
謎。
コメントする