Woher weiß ich, was ein Apache-Prozess tut?

11

Manchmal wird Apache verrückt und frisst mein gesamtes Gedächtnis und tauscht sich aus, aber ich weiß nicht, wie ich herausfinden kann, welche Web-App die Ursache ist.

ps gibt mir diese Ausgabe für den Prozess; "Ununterbrochener Schlaf (normalerweise IO)"

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

Ich vermute Ruby + Redmine, aber ich möchte sicher sein

Joernsn
quelle

Antworten:

11

mod_status.soStellen Sie sicher, dass Sie in Ihre Apache-Module geladen haben , und suchen Sie die oben genannten Elemente in Ihrer 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>

Auf diese Weise können Sie alle verwendeten Seiten anzeigen, um die Domäne auf Ihrem http-Server zu laden.

Um darauf zuzugreifen, verwenden Sie http: // your_ip / server-status und nur die unter definierte IP- AdresseAllow from YOUR_IP_HERE kann es anzeigen.

Prix
quelle
1
Ich schlage auch vor, zu verwenden Allow from localhost, so dass es später möglich ist, diese Informationen über lynx http://localhost/server-statusin der Konsole zu überprüfen .
Andron
In Apache 2.4 ist erforderlich, dass alle statt der Bestellung erteilt werden ...
Aleksandar Pavić
5

Ein lsof -p zeigt Ihnen, auf welches Dateihandle es wartet. Auch strace -p und ltrace -p können nützlich sein, um zu versuchen, es zu debuggen.

Vegar Westerlund
quelle
Beide sehr gute Antworten :)
Joernsn