Bir apache işleminin ne yaptığını nasıl bilebilirim?


11

Bazen apache çıldırır ve tüm hafızamı ve takasımı yer, ama hangi web uygulamasının buna neden olduğunu nasıl bulacağımı bilmiyorum.

ps süreç için bana bu çıktıyı verir; "Kesintisiz uyku (genellikle IO)"

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

Ruby + Redmine'den şüpheleniyorum, ama emin olmak istiyorum

Yanıtlar:


11

mod_status.soApache modüllerinize yüklediğinizden emin olun ve yukarıdakileri arayın / httpd.conf dosyasına ekleyin:

# 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>

Bu, kullanılan tüm sayfaların http sunucunuzda etki alanı yüklemesini görmenizi sağlar.

Erişmek için http: // your_ip / server-status komutunu kullanın ve yalnızca adresinde tanımlanan ip Allow from YOUR_IP_HEREgörüntüleyebilir.


1
Ayrıca kullanmanızı tavsiye ederim Allow from localhost, bu yüzden daha sonra bu bilgileri lynx http://localhost/server-statuskonsoldan kontrol etmek mümkündür .
Andron

Apache 2.4'te Sipariş yerine hepsinin verilmesini gerektirir ...
Aleksandar Pavić

5

Bir lsof -p, hangi dosya tanıtıcısını beklediğini gösterir. Ayrıca strace -p ve ltrace -p hata ayıklamak için kullanışlı olabilir.


Her ikisi de çok iyi cevaplar :)
Joernsn
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.