J'ai donc essaye la directive MaxRequestsPerChild qui est surement ce qu'il me faut, j'en suis persuadé. D'ailleurs c'est justement prévu pour mon problème donc pour s'en priver ? Par contre elle n'a absolument aucun effet sur ma config, on dirait qu'elle est ignorée. J'ai verifié son fonctionnement en regardant la page http://localhost/server-status et on voit bien que les enfants ne sont pas tués au bout de 50 requetes (ce qui est evidemment trop petit pour une utilisation normale mais j'ai beaucoup baissé exprès pour tester).
Voici un extrait du server-status qui montre bien que les enfants ayant dépassé le 50 requetes ne sont pas tués. Le format est un peu coupé parce qu'une ligne tient sur deux mais ceux qui connaissent cette page n'auront pas de mal à s'y retrouver. Srv PID Acc M CPU SS Req Conn Child Slot Client VHost Request 0-0 27276 0/1/1 W 0.02 17 0 0.0 0.00 0.00 80.14.245.122 idme.zaphebergeur.net GET /m3/art.mpg HTTP/1.1 1-0 27277 0/284/284 _ 0.78 40 2 0.0 1.14 1.14 localhost.localdomain localhost GET /server-status HTTP/1.1 2-0 27278 0/1/1 W 0.01 7 0 0.0 0.000 0.000 80.14.245.122 idme.zaphebergeur.net GET /m3/nrv.mpg HTTP/1.1 3-0 27279 0/108/108 _ 0.71 51 2 0.0 0.45 0.45 localhost.localdomain localhost GET /server-status HTTP/1.1 4-0 27280 3/3/3 W 0.39 8 0 50.8 0.05 0.05 80.9.10.219 ddd.zaphebergeur.net GET /viewthread.php?tid=201&pid=874#pid874 HTTP/1.1 5-0 27334 0/0/0 W 0.00 9 0 0.0 0.00 0.00 80.14.245.122 idme.zaphebergeur.net GET /m3/cavacouper.mpg HTTP/1.1 6-0 27335 0/106/106 _ 0.29 15 108 0.0 0.44 0.44 193.252.37.94 keno.zaphebergeur.net GET /BotInfos.txt HTTP/1.1 7-0 27336 0/102/102 W 0.32 61 0 0.0 0.47 0.47 212.209.42.130 ddd.zaphebergeur.net GET /forumdisplay.php?fid=2 HTTP/1.0 8-0 27340 0/102/102 W 0.21 68 0 0.0 0.41 0.41 127.0.0.1 localhost GET /server-status HTTP/1.0 9-0 27342 0/0/0 W 0.00 23 0 0.0 0.00 0.00 80.14.245.122 idme.zaphebergeur.net GET /m3/fin.mpg HTTP/1.1 10-0 27343 0/2/2 _ 0.01 85 5 0.0 0.00 0.00 localhost.localdomain localhost GET /server-status HTTP/1.0 11-0 27351 0/102/102 _ 0.30 46 2 0.0 0.46 0.46 localhost.localdomain localhost GET /server-status HTTP/1.1 12-0 27352 1/203/203 W 0.64 1 1 0.0 0.90 0.90 212.209.42.130 ddd.zaphebergeur.net GET /codebuttons.js HTTP/1.0 13-0 27353 0/2/2 _ 0.02 6 1 0.0 0.01 0.01 80.200.176.137 chtibasque.zaphebergeur.net GET /chtimail.swf HTTP/1.1 J'ai gonflé moi meme les requetes en rechargeant plusieurs centaines de fois la page server-status. Je me suis par contre aperçu qu'avec la commande apachectl reload certains enfants étaient tués, je crois de toute façon que c'est normal et que ça n'a rien à voir aver la directive MaxRequestsPerChild. Je me rends compte que ce problème est très technique et ne concerne probablement qu'un petit nombre d'entre vous, donc si on n'arrive pas à trouver une solution ensemble je vais voir ce qu'on me dit sur une liste specifique d'Apache. Merci en tout cas à Olivier pour m'avoir mis sur la bonne voie ! Dario n Monday 27 May 2002 12:07, Dario Spagnolo wrote: > [Tu t'étais fait avoir par le reply-to toi aussi !] > > On Monday 27 May 2002 07:17, you wrote: > > > je crois avoir mis en évidence un bug du serveur Apache. > > > Comme tout le monde le sait, mon serveur est sous dimensionné par > > > rapport au trafic qu'il genere. Il a en effet 64 Mo de Ram (dont 2 > > > utilisés par la carte graphique) et 128 Mo de partition swap. La > > > memoire physique est bien sur utilisée à 100% dès le démarrage des > > > services de base. Apache, service le plus gourmand du serveur, est > > > donc obligé de placer la plupart de ses pages en swap mais on dirait > > > qu'il ne les libère pas (un peu comme la majorités des programmes > > > Windows et surtout Internet Explorer !). Ce comportement est mis en > > > évidence par le dernier graphe de la page http://mrtg.zaphebergeur.net. > > > Cependant, quand j'arrete Apache, il rend au système la totalité des > > > pages qu'il utilisait. Mais lorsque le serveur est très sollicité la > > > memoire swap libre baisse, baisse, baisse, jusqu'à planter le serveur > > > de façon pas élegante du tout ! > > > Les relevés de mrtg sont faits sur l'output de la commande free, > > > section swap. Tout ceci n'a rien à voir avec les processus "defunct" > > > parce qu'ils sont gerés normalement (=quand le parent a fini son > > > boulot il tue les gosses !). > > > > > > Qu'en pensez-vous ? C'est bien un bug d'Apache ? > > > > Combien de processus Apache tournent sur la machine ? > > La commande ps -C httpd | wc -l me renvoie 12 lignes donc 11 processus (la > premiere étant une entete). > > > Tu peux observer facilement qu'il y a un apache qui tourne > > sous root, et les autres sous l'uid d'apache, souvent nobody > > ou apache. > > > > Tu peux modifier le nombre de processus qu'Apache lance, > > et par conséquent ses besoins en memoire. > > > > Regarde les parametres MinSpareServer et MaxSpareServer > > pour changer ces parametres. > > Ils sont encore sur leurs paramètres par défaut, c'est à dire > respectivement 5 et 10. > > > Ensuite, chaque processus sert un nombre maximal de requettes > > puis se tue, c'est le parametre MaxRequestsPerChild qui decide > > de ca. > > Par contre c'est peut-etre ce paramètre là qui rentre en jeu. Il était à 0 > donc infini. Le commentaire dans httpd.conf dit : > "# MaxRequestsPerChild: the number of requests each child process is > # allowed to process before the child dies. The child will exit so > # as to avoid problems after prolonged use when Apache (and maybe the > # libraries it uses) leak memory or other resources. On most systems, this > # isn't really needed, but a few (such as Solaris) do have notable leaks > # in the libraries. For these platforms, set to something like 10000 > # or so; a setting of 0 means unlimited." > > Je ne suis pas sous Solaris mais peut-etre que sans le vouloir j'ai des > librairies qui ne savent pas bien gerer la memoire et qui y restent meme > quand on n'a plus besoin d'elles. Je l'ai donc is à 200 pour voir si j'ai > un gros changement, si oui j'utiliserai la valeur qu'ils conseillent. > > > Je pense que tu devrais jouer un peu avec ces parametres, qui > > devraient regler tes problèmes de memoire. > > Pour l'instant merci beaucoup, si ça ne marche toujours pas je reviendrai à > l'attaque ! :) > > Dario > > ___________________________________________________________________________ >___ ifrance.com, l'email gratuit le plus complet de l'Internet ! > vos emails depuis un navigateur, en POP3, sur Minitel, sur le WAP... > http://www.ifrance.com/_reloc/email.emailif > > > > Linux-Azur : http://www.linux-azur.org > Désinscriptions: http://www.linux-azur.org/liste.php3 > **** Pas de message au format HTML, SVP **** ______________________________________________________________________________ ifrance.com, l'email gratuit le plus complet de l'Internet ! vos emails depuis un navigateur, en POP3, sur Minitel, sur le WAP... http://www.ifrance.com/_reloc/email.emailif Linux-Azur : http://www.linux-azur.org Désinscriptions: http://www.linux-azur.org/liste.php3 **** Pas de message au format HTML, SVP ****
