web-dev-qa-db-fra.com

Pourquoi Apache est-il en cours d'exécution autant de processus? Excessive RAM ici?

Je remarque Apache exécute plusieurs processus sur mon serveur de lampe (Ubuntu 10.10). Je suis simplement en cours d'exécution A Wordpress site avec MySQL en tant que base de données. Il semble que Www-Data est en train d'exécuter Apache2 plus qu'il ne devrait (utiliser trop de mémoire), suis-je correct:

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
17
Trent Scott

Apache exécute plusieurs processus pour les préparer lorsqu'une demande de client est entrée. Le fraiNing d'un processus de serveur est lent, il est donc préférable d'en avoir une attente d'un client.

Pour une utilisation en mémoire, vous devez entrer dans la taille de compte de compte (comme indiqué par le haut), qui correspond à la quantité de mémoire physique utilisée par la tâche.

Pourquoi pensez-vous que vous avez trop de processus Apache2 en utilisant trop de mémoire? Qu'attendez-vous? Pourquoi attendez-vous alors?

19
Paweł Brodacki

Comme l'explique la réponse de Pawel, Apache utilise un processus de processus par demande avec un pool de processus (ou un fil par demande avec MPM_Worker).

Vous pourrez peut-être réduire l'utilisation de la mémoire à l'aide d'un serveur Web basé sur l'IO non bloquante, telle que nginx. De cette façon, le serveur n'a pas besoin de dédier un processus/un fil par connexion.

3
janneb

Apache exécutera autant de processus que vous le configurez. La configuration diffère si vous utilisez le Préfourge ou travailleur modules multi-traitement.

2
sciurus