Ich stelle fest, dass Apache auf meinem LAMP-Server (Ubuntu 10.10) mehrere Prozesse ausführt. Ich betreibe gerade eine Wordpress-Site mit MySQL als Datenbank. Es scheint, als ob www-data Apache2 mehr ausführt, als es sollte (auch wenn es zu viel Speicher benötigt), habe ich Recht:
ID Owner Size Command
31200 www-data 251236 kB /usr/sbin/apache2 -k start
20678 www-data 250948 kB /usr/sbin/apache2 -k start
25781 www-data 248888 kB /usr/sbin/apache2 -k start
31045 www-data 248844 kB /usr/sbin/apache2 -k start
19926 www-data 246480 kB /usr/sbin/apache2 -k start
20749 www-data 239380 kB /usr/sbin/apache2 -k start
32616 www-data 238632 kB /usr/sbin/apache2 -k start
8846 mysql 238128 kB /usr/sbin/mysqld
24178 www-data 234228 kB /usr/sbin/apache2 -k start
32618 www-data 232344 kB /usr/sbin/apache2 -k start
32615 www-data 232204 kB /usr/sbin/apache2 -k start
19805 root 208156 kB /usr/sbin/apache2 -k start
apache-2.2
ubuntu
performance
memory
Trent Scott
quelle
quelle
Antworten:
Apache führt mehrere Prozesse aus, um sie bei Eingang einer Client-Anfrage bereit zu halten. Das Starten eines Server-Prozesses ist langsam. Es ist daher am besten, wenn einer auf einen Client wartet.
Für die Speichernutzung sollten Sie die RES-Größe (wie oben angezeigt) berücksichtigen, dh die Menge des von der Aufgabe verwendeten physischen Speichers.
Warum haben Sie Ihrer Meinung nach zu viele Apache2-Prozesse, die zu viel Speicher belegen? Was erwartest du? Warum erwartest du das?
quelle
Wie die Antwort von Pawel erklärt, verwendet Apache ein Prozessmodell pro Anforderung mit einem Prozesspool (oder einen Thread pro Anforderung mit mpm_worker).
Möglicherweise können Sie die Speichernutzung reduzieren, indem Sie einen Webserver verwenden, der auf nicht blockierenden E / A-Vorgängen basiert, z. B. nginx. Auf diese Weise muss der Server keinen Prozess / Thread pro Verbindung zuweisen.
quelle
Apache führt so viele Prozesse aus, wie Sie es konfigurieren. Die Konfiguration unterscheidet sich, wenn Sie die Prefork- oder Worker- Multi-Processing-Module verwenden.
quelle