Voici à quoi ressemble le graphique de la mémoire sur un VPS exécutant CentOS avec 512 Mo de RAM et nginx / php-fpm / mysqld servant du contenu (principalement statique) à quelques milliers de visiteurs par jour.
(ce sont des jours sur l'axe des x)
Comme vous pouvez le voir, c'est assez agité dans le cache et la zone tampon. Le cache mémoire est purgé à intervalles irréguliers (excluant un travail cron responsable). Il est généralement, mais pas toujours, purgé au point où il ne peut plus grossir. Parfois, il s'efface presque entièrement, à d'autres moments seulement à mi-chemin.
J'essaie de comprendre la logique derrière ces purges. Je m'attendrais à ce que les données de fichiers soient mises en cache beaucoup plus longtemps et je ne vois aucun autre programme utilisant plus de mémoire que d'habitude lorsque le cache de mémoire est effacé.
Est-ce un comportement normal ou manque-t-il quelque chose?
MISE À JOUR: Une mise à niveau de la mémoire semble avoir stabilisé le graphique. Toujours de petites baisses, mais nulle part aussi importantes qu'elles ne l'étaient avant la mise à niveau.
Réponses:
Ça pourrait être beaucoup de choses. Peut-être que l'un des programmes que vous utilisez utilise occasionnellement et brièvement beaucoup de RAM. Si c'est vraiment des semaines sur l'axe des x, vous devez échantillonner à une résolution beaucoup plus élevée (par exemple, une fois par minute ou même une seconde) pour obtenir plus d'informations sur ce qui se passe, ce qui entraîne la suppression du cache.
ps
et latop
sortie (y compris la charge moyenne) pendant ce temps serait également utile.la source
Une raison possible serait qu'un fichier en croissance, comme un journal par exemple, soit supprimé, compressé ou envoyé ailleurs lorsqu'il atteint une taille donnée.
Dans les deux cas, sa taille en cache, éventuellement la totalité s'il n'y a pas de pression mémoire dans votre système d'exploitation, serait libérée du cache dès que le fichier d'origine est supprimé.
la source