Forum Linux.général Apache, MaxClients et RAM

Posté par  .
Étiquettes : aucune
0
29
nov.
2012

Bonjour

Je suis en train de travailler sur un reverse-proxy Apache qui atteint ses limites, mais qui consomme moins de RAM que ce que je pensais et je ne vois pas pourquoi.
Le worker est en Prefork. J'ai 317 processus en ce moment qui consomme chacun environ 7,5Mo de RAM (valeur donnée par la colonne RSS de 'ps aux').
Pourtant il n'y a que 692Mo de RAM utilisé et 13Mo en swap. (Le serveur est équipé de 1Go de RAM)

Je pensais que la RAM consommée serait de 317*7,5 = 2377,5Mo.

Cette différence vient d’où?

  • # RSS - SHARE

    Posté par  . Évalué à 2.

    si je ne me trompe pas,
    à la valeur du RSS il faut peut-etre soustraire le SHARE
    qui sont les pages partagées

    • [^] # Re: RSS - SHARE

      Posté par  . Évalué à 2.

      C'est bien ça, si j’enlève la mémoire partagé je tombe à environ 1,6Mo par processus, ce qui colle bien avec la taille totale prise par apache. Merci.

      • [^] # Re: RSS - SHARE

        Posté par  . Évalué à 3.

        Linux fait du Copy-On-Write pour la mémoire des processus. C'est-à-dire que lors du fork d'un processus, la mémoire est partagée entre les deux processus, seulement, lors de l'écriture dans la mémoire par l'un des deux processus, le noyau va lui allouer une nouvelle plage mémoire. Il y a aussi le fait que lorsqu'un processus réserve une plage mémoire, elle n'est pas allouée tant qu'il ne l'utilise pas, ce qui fait que la mémoire réellement utilisée peut être bien moindre que la mémoire réservée par chaque processus.

        « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.