web-dev-qa-db-ja.com

Apacheでスタックトレースを実行する方法は?

私はPHP WebアプリケーションをApache/mod_phpで実行していて、数日間正常に動作してから失敗し、500内部サーバーエラーを返します。

デバッグログをオンにしましたが、ログに原因を示すものが何も表示されません。この問題を解決する唯一の方法は、Apacheを再起動することです。

システムトレースを実行してApacheプロセスを監視し、Apacheベンチまたは他の負荷テストツールを使用して強制的に失敗させる必要があると思います。問題は、これまでにこれを行ったことがないので、どうすればよいかわからないことです。

CentOS6.xを実行しています。システムトレースを実行するためにどのツールを使用し、どのように呼び出すのですか?

3
Mike Marseglia

試すことができます strace

strace -f -p 22254 -s 80 -o /tmp/debug.lighttpd.txt

-pはApacheプロセスのPIDになります。これ thread はそれを見つけるのに役立ちます

2
Pedro