Ma petite instance ec2 avec 1,7 Go de mémoire, exécutant l'AMI Amazon basée sur CentOS, a un problème avec Apache utilisant trop de mémoire qu'il ne le devrait. Si vous regardez la capture d'écran, l'utilisation de la mémoire sera de 90 à 100% jusqu'à ce que je redémarre le service httpd, où il recommencera, augmentant son chemin jusqu'à 90+%.
J'apprécierais vraiment une aide sur la façon de localiser le problème. Est-ce peut-être un comportement apache "normal", pour utiliser toute la mémoire disponible? Ou y a-t-il une fuite possible que je dois traquer. Pour le moment, je suis un peu perplexe quant à ce qui pourrait se passer.
Nous utilisons le préfork Apache MPM, et aucun sql ou quelque chose de similaire - juste apache. Le site est ici .
la source
RequestHeader set X-Request-Start "%t"
si vous ne l'avez pas déjà fait. Cela apparaîtra comme "Request Queuing" lorsque vous allez dans App Server> Présentation - pourrait vous aider à aller au fond du problème.Réponses:
Comme l'a dit HTTP500, vous ne devriez probablement pas vous en soucier à moins que la machine ne s'étouffe réellement. Jetez un œil à l' aide! Linux a mangé ma RAM! . Ce n'est pas tout à fait une situation analogue, car vous avez des processus plutôt que des tampons utilisant la RAM, mais ce n'est pas trop loin: la RAM physique de votre machine est une ressource à utiliser, soit avec des tampons du noyau ou des processus de travail Apache de rechange pour gérer rapidement les entrées demandes. Si vous n'utilisez pas de RAM, vous avez payé en trop pour la taille de votre boîte.
Quoi qu'il en soit, si vous souhaitez jouer avec les paramètres MPM, la documentation Apache est http://httpd.apache.org/docs/current/mod/prefork.html
Vous pouvez peut-être réduire les MinSpareServers, StartServers, etc., car vous avez déclaré que le site était à faible trafic. Vous aurez alors plus de RAM libre à consommer par les tampons du noyau à leurs fins néfastes.
la source
Linux utilisant toute votre mémoire est normal, la mémoire qui n'est pas utilisée autrement est réutilisée comme cache disque. voir: linux a mangé mon bélier
Vous pouvez le vérifier en regardant la sortie de
free -m
et vous attendre à voir quelque chose comme ceci:la ligne +/- tampons / cache est celle que vous voulez. Il ajoute de la mémoire cache en mémoire libre pour vous donner une meilleure image de la quantité de mémoire réellement disponible. Dans ce cas, vous voulez faire attention au numéro 3416, pas 101.
la source