数日の稼働時間の後にApacheがハングする理由を見つけることができません。
これは、メモリでソートしたトップの出力です
top - 14:51:45 up 1 day, 18:02, 3 users, load average: 6.73, 5.15, 6.27
Tasks: 233 total, 1 running, 226 sleeping, 0 stopped, 6 zombie`
Cpu(s): 34.0%us, 13.8%sy, 0.0%ni, 3.2%id, 48.3%wa, 0.0%hi, 0.8%si, 0.0%st
Mem: 4043688k total, 3943568k used, 100120k free, 46784k buffers
Swap: 1051376k total, 659504k used, 391872k free, 372016k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
17156 Apache 40 0 271m 204m 5800 S 0.0 5.2 0:10.53 httpd
16735 Apache 40 0 273m 204m 5504 S 0.0 5.2 0:05.32 httpd
17532 Apache 40 0 271m 204m 5188 S 81.1 5.2 0:07.83 httpd
17904 Apache 40 0 271m 204m 5396 S 0.0 5.2 0:09.81 httpd
17177 Apache 40 0 271m 203m 5248 S 0.0 5.2 0:05.63 httpd
19507 Apache 40 0 271m 203m 5272 S 0.0 5.2 0:05.14 httpd
16734 Apache 40 0 271m 203m 5380 S 0.0 5.2 0:10.20 httpd
18571 Apache 40 0 271m 203m 5240 S 0.0 5.2 0:05.05 httpd
19492 Apache 40 0 271m 203m 5212 S 0.0 5.2 0:05.30 httpd
19506 Apache 40 0 271m 203m 5188 S 0.0 5.2 0:10.28 httpd
19497 Apache 40 0 271m 203m 5172 S 0.0 5.2 0:07.65 httpd
17527 Apache 40 0 271m 203m 5240 S 0.0 5.2 0:05.03 httpd
19144 Apache 40 0 271m 203m 5220 S 0.0 5.2 0:02.58 httpd
19145 Apache 40 0 271m 203m 5152 S 0.0 5.2 0:02.60 httpd
17165 Apache 40 0 271m 203m 5104 S 0.0 5.1 0:02.63 httpd
17900 Apache 40 0 271m 203m 4576 S 0.0 5.1 0:05.08 httpd
17174 Apache 40 0 271m 193m 5300 S 0.0 4.9 0:10.04 httpd
16742 Apache 40 0 271m 84m 5468 S 0.0 2.1 0:20.03 httpd
19812 Apache 40 0 100m 33m 4812 D 7.6 0.8 0:00.23 httpd
16741 Apache 40 0 271m 18m 5700 S 0.0 0.5 0:08.16 httpd
5095 root 40 0 84448 13m 4388 S 0.0 0.3 0:14.79 httpd
4511 named 40 0 51340 10m 1128 S 0.0 0.3 2:13.22 named
4697 mysql 40 0 153m 8964 2560 S 0.0 0.2 4:50.60 mysqld
16727 Apache 40 0 73828 7752 444 S 0.0 0.2 0:00.00 httpd
4245 sso 40 0 28268 3224 1628 S 0.0 0.1 0:00.10 sw-engine-cgi
25520 root 40 0 68164 3052 276 D 0.0 0.1 1:58.79 tar
25473 psaadm 40 0 38364 2564 852 S 0.0 0.1 0:01.69 sw-engine
25512 root 40 0 14112 2432 808 S 0.0 0.1 0:00.78 python
4912 root 40 0 35160 1648 460 S 0.0 0.0 0:11.67 spamd
28823 root 40 0 12092 1556 1320 S 0.0 0.0 0:00.08 sshd
13713 root 40 0 12092 1444 1324 S 0.0 0.0 0:00.36 sshd
6829 root 40 0 12092 1440 1320 S 0.0 0.0 0:01.65 sshd
4240 sso 40 0 27204 1140 760 S 0.0 0.0 0:00.21 sw-engine-cgi
20409 qmailr 40 0 4908 1060 884 S 0.0 0.0 0:00.00 qmail-remote.mo
7073 root 40 0 5112 1032 816 S 0.0 0.0 0:00.01 bash
20135 qmaild 40 0 4920 1032 864 S 0.0 0.0 0:00.00 qmail-smtpd
19755 qmaild 40 0 4920 1028 856 S 0.0 0.0 0:00.00 qmail-smtpd
13757 root 40 0 4992 1016 804 S 0.0 0.0 0:00.00 bash
29109 root 40 0 2416 1016 724 R 0.0 0.0 0:06.99 top
20133 qmaild 40 0 4920 1000 832 S 0.0 0.0 0:00.00 qmail-smtpd
私はstrace -p [pid]
そしてそれらのプロセスが通常のApacheのことをしていることがわかりました...
推奨される既存のスレッドで指定されたサーバーステータスをセットアップします。プロセスサイズが大きすぎるように見えます。これは、メモリリークが発生している可能性があるようです。
MaxRequestsPerChildを1000または100に設定すると、コードにメモリリークやその他の問題がある場合に役立ちます。これは通常、問題が発生する前にプロセスを強制終了します。これにより、問題を追跡する時間が与えられる場合があります。
完全なApacheハングは、非常にまれなことです。
これらのハング時間の前後にApacheのアクセス/エラーログを読んだ場合はどうなりますか?発生するたびに特定のURLにアクセスしますか?
インストールは基本的なApache + PHP + MySQLのインストールですか、それとも、xCacheのようないくつかのPHPオペコードキャッシュがインストールされているなど、よりエキゾチックなものがインストールされていますか? ?
Httpd.confはどうですか?非常に長いタイムアウト値を設定しましたか?そして、キープアライブをオンまたはオフにしていますか?
コマンド apachetop も、デバッグ中に非常に役立ちます。
[〜#〜] edit [〜#〜]:. htaccessまたはPHPコードのいずれかでリダイレクトに問題がある場合があります非常に劇的なサーバークラッシュを引き起こす可能性があります。次のような行を含む.htaccessファイルがある場合
ErrorDocument 404 http://yourserver/notfound.html
そのファイルが存在しない場合、Apacheは非常に高速なリダイレクトループに移行し、数秒で混乱します。
適切なErrorDocument行は次のようになります
ErrorDocument 404 /some/path/notfound.html
また、Apacheリライトモジュールは、いくつかの誤ったリライトルールでサーバーをクラッシュさせる可能性があります。 Mod_rewriteはブードゥーです。かっこいいけど、それでもブードゥー、そして時には非常に効率的な大量破壊兵器。
彼ら全員がディスクI/Oを待っているようです。
strace -p <pid>
を使用すると、もう少し深く掘り下げることができます
すでに スレッド あなたを助けることができる情報があります。
最初に「server-status」に関する承認済みの投稿を試してから、私が推奨したこと、つまりLogLevelを変更することをお勧めします。