web-dev-qa-db-ja.com

Apacheプロセスが何をしているのかどうやって知るのですか?

時々、Apacheがおかしくなり、すべてのメモリとスワップを消費しますが、原因となっているWebアプリを特定する方法がわかりません。

psはこのプロセスの出力を私に与えます。 「中断のないスリープ(通常はIO)」

www-data  1526  0.1 78.9 14928852 3191628 ?    D    Oct17   6:45 /usr/sbin/Apache2 -k start

Ruby + Redmineだと思うが、確認したい

11
Joernsn

Apacheモジュール内にmod_status.soがロードされていることを確認してから、上記を探してhttpd.confに追加します。

# Uncomment the following lines to enable mod_status support:
#
ExtendedStatus On

<Location /server-status>
SetHandler server-status

Order Deny,Allow
Deny from all
Allow from YOUR_IP_HERE
</Location>

これにより、使用されているすべてのページをhttpサーバー内の負荷ドメインで確認できます。

アクセスするには http:// your_ip/server-status を使用し、Allow from YOUR_IP_HEREで定義されたIPのみがそれを表示できます。

11
Prix

Lsof -pは、待機しているファイルハンドルを示します。また、strace -pとltrace -pは、デバッグするのに便利です。

5