Skąd mam wiedzieć, co robi proces Apache?

11

Czasami apache wariuje i zjada całą moją pamięć i zamienia się, ale nie wiem, jak dowiedzieć się, która aplikacja internetowa jest przyczyną tego.

ps daje mi to wyjście dla procesu; „Nieprzerwany sen (zwykle IO)”

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

Podejrzewam Ruby + Redmine, ale chcę mieć pewność

Joernsn
źródło

Odpowiedzi:

11

Upewnij się, że mod_status.sozaładowałeś w swoich modułach Apache, a następnie poszukaj / dodaj powyższe do 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>

Umożliwi to wyświetlenie wszystkich używanych stron wczytywania domeny na serwerze http.

Aby uzyskać do niego dostęp, użyj http: // twój_ip / status serwera i tylko ip zdefiniowany w Allow from YOUR_IP_HEREbędzie mógł go zobaczyć.

Prix
źródło
1
Proponuję również użyć Allow from localhost, aby później można było sprawdzić te informacje za pomocą lynx http://localhost/server-statuskonsoli.
Andron
W Apache 2.4 Wymagaj wszystkich przyznanych zamiast Porządku ...
Aleksandar Pavić
5

Polecenie lsof -p pokaże, na jaki uchwyt pliku czeka. Przydatne mogą być również polecenia strace -p i ltrace -p, aby spróbować je debugować.

Vegar Westerlund
źródło
Obie bardzo dobre odpowiedzi :)
Joernsn