web-dev-qa-db-ja.com

Apache 2は何をしているのですか?

UbuntuでApache2.2.17を使用しています-ApacheがCPUの100%を占めているようです。このような高いCPU使用率を引き起こすためにApacheが何をしているのかをどうやって知ることができますか?

いくつかのスタックトレースツールを使用する必要がありますか?または、内部状態をダンプできるApacheプラグインがいくつかあるのでしょうか。

3
Xiè Jìléi

アクセスログファイルとエラーログファイル(場所は「httpd.conf」ファイル内で定義されています)で多くのアクティビティがないか確認します(最新のエントリはファイルの最後にあります。「tail-faccess.log」を使用してライブで視聴してください) )。

ログファイルにアクティビティが表示されない場合は、コードが無限ループに陥っている可能性があります。 Apache HTTPdを再起動すると一時的に修正されますが、カスタムコード(mod_Perl2、CGI Perl、PHPなどを使用していますか?)、特にこの症状が現れ始めたと思った後に変更/追加されたコードを確認する必要があります。

「server-status」モジュール(デフォルトのビルドに含まれている必要があります)も、いくつかの洞察を提供する場合があります。

再起動すると再び100%のアクティビティが発生する場合は、問題の原因となっているApache HTTPdがロードされているコード、またはモジュールの1つがある可能性があります。

設定で何か複雑なことをしていますか? mod_Perl2、CGI Perl、PHP、またはその他のものを使用していますか?どのバージョンのApacheHTTPdを使用していますか?どのオペレーティングシステムで実行していますか(これらのオペレーティングシステムはWebサーバーに適しているため、UnixまたはLinuxを想定しており、ほとんどの人が選択しているようです)。

2