Comment savoir ce que fait un processus Apache?

11

Parfois, Apache devient fou et mange toute ma mémoire et échange, mais je ne sais pas comment déterminer quelle application Web en est la cause.

ps me donne cette sortie pour le processus; "Sommeil sans interruption (généralement IO)"

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

Je soupçonne Ruby + Redmine, mais je veux être sûr

Joernsn
la source

Réponses:

11

Assurez-vous que vous avez mod_status.sochargé dans vos modules apache puis recherchez / ajoutez ce qui précède à votre 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>

Cela vous permettra de voir toutes les pages utilisées dans le domaine de chargement de votre serveur http.

Pour y accéder, utilisez http: // your_ip / server-status et seule l' adresse IP définie à Allow from YOUR_IP_HEREpourra le voir.

Prix
la source
1
Je suggère également d'utiliser Allow from localhost, donc plus tard, il est possible de vérifier ces informations via lynx http://localhost/server-statusdans la console.
Andron
Dans Apache 2.4, il est obligatoire que tout soit accordé au lieu de l'ordre ...
Aleksandar Pavić
5

Un lsof -p vous montrera quel descripteur de fichier il attend. De plus, strace -p et ltrace -p peuvent être utiles pour essayer de le déboguer.

Vegar Westerlund
la source
Les deux très bonnes réponses :)
Joernsn