人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Centos6.2+apache2.2環境でロードアベレージは低いのに、apacheの子プロセス数が
どんどん減っていき、しまいには一桁になってしまいサイト表示が出来なくなるとい
う症状が出ています。

この状態に陥ったときは、apacheをrestartしても直ぐに症状が再発しまい、サーバー
をリブートしないと改善しないので困り果てています。
また、apacheのエラーログやmessagesにはこの件に関係するログは何も出力されて
いません。

どなたか対応策をアドバイス頂けないでしょうか。

■状況
サイトが表示出来ていない事を確認し、httpd restartをするも
Address already in use: make_sock...と出る

killall httpdとし、その後httpd startをすると正常にapacheが起動するも、
apache start後、直ぐにapacheのプロセス数が1001まで一気に上昇しその後一気に
プロセス数が下がっていく。秒間およそ200プロセス位が減っていたと思います。

apache start後のプロセス数上昇中はサイト表示が出来ているが、一気にプロセス数
が減少しはじめた段階でサイト表示は不可。

普段のプロセス数は400程度。

apacheはprefork
MaxClientとServerLimitは1500でKeepAliveはoffです。


●質問者: meganer
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● JULY
ベストアンサー

apache start後、直ぐにapacheのプロセス数が1001まで一気に上昇しその後一気に
プロセス数が下がっていく。秒間およそ200プロセス位が減っていたと思います。

と、

サイトが表示出来ていない事を確認し、httpd restartをするも
Address already in use: make_sock...と出る

から、おそらく、apache の子プロセスが、生成直後に異常終了しているために、Apache 自体が正常に終了出来ていない感じがします。

まず、「Address already in use: make_sock...」の原因を探るために、service httpd stop 後に、下記のコマンドを実行してみて下さい。

# lsof -i | grep ':http (LISTEN)$'

lsof コマンドが無ければ yum install lsof でインストール出来ます。これで、HTTP ポート(TCP 80 番)を掴んでいるプロセスが分かります。

もし、この時、httpd 以外のプロセス名が表示されている場合は、そのプログラムが障害の原因になっている可能性があります。

httpd が表示されていれば、Apache httpd が正常に終了出来ていない事になります。

なぜ httpd が正常に終了出来ないかは、LogLevel を変更して、詳細なログを吐き出すようにして、何か怪しいものが無いかを調べる事になります。

core - Apache HTTP サーバ
デフォルトでは warn なので、info や debug にすると、原因のヒントになるような事があるかもしれません。


meganerさんのコメント
ありがとうございます! なるほど、まずはログレベルを変更しその上で何らかのログが採取出来ないか確認してみたいと思います!
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ