J'ai fixé ServerLimt à 15 et MaxClients à 8, mais de temps en temps, je vois 150 processus Apache. Comment cela se fait-il ?
J'ai Apache/2.4.7 (Ubuntu), MPM : prefork
StartServers 1
MinSpareServers 1
MaxSpareServers 2
Serverlimit 15
MaxClients 8
MaxRequestsPerChild 50
Peu après le démarrage de mon serveur, je vois 11 processus Apache : un processus parent et 10 processus enfants. Sur cette base, je suppose que 8 des 10 processus enfants sont dus au paramètre "MaxClients", et que 2 autres sont créés parce que j'ai défini "MaxSpareServers=2".
De temps en temps, le nombre de processus dépasse un peu les 15. Je ne comprends pas comment cela peut se produire si la limite du serveur est de 15. Mais le vrai problème est que, de temps en temps, le nombre de processus monte jusqu'à environ 150, ce qui épuise la RAM.
La documentation indique "Avec le MPM prefork, n'utilisez cette directive que si vous avez besoin de fixer MaxClients à une valeur supérieure à 256 (valeur par défaut). Ne fixez pas la valeur de cette directive à un niveau supérieur à celui auquel vous souhaiteriez fixer MaxClients".
La première phrase semble dire que je ne devrais pas y toucher, mais la seconde semble suggérer que je devrais le réduire pour qu'il corresponde à MaxClients.
En bref : Si Serverlimit ne fonctionne pas, comment puis-je fixer une limite stricte au nombre de processus Apache ?
1 votes
S'agit-il d'un doublon ? serverfault.com/questions/244750/
0 votes
J'ai testé la même configuration sur une machine virtuelle (Ubuntu 14.04 Apache 2.4.7). Cela fonctionne très bien. Comment surveillez-vous le nombre de processus (top, ps, lsof) ? Avez-vous essayé d'utiliser ab pour stresser le serveur et déclencher le problème ?