Así es como se ve el gráfico de memoria en un VPS que ejecuta CentOS con 512 MB de RAM y contenido nginx / php-fpm / mysqld (principalmente estático) para un par de miles de visitantes por día.
(esos son días en el eje x)
Como puede ver, es bastante nervioso en el área de caché y búfer. La memoria caché se purga a intervalos irregulares (descartando un trabajo cron responsable). Por lo general, pero no siempre, se purga en el punto donde no puede crecer más. A veces se borra casi por completo, otras veces solo a la mitad.
Estoy tratando de entender la lógica detrás de estas purgas. Esperaría que los datos del archivo se almacenen en caché mucho más tiempo y no veo ningún otro programa que use más memoria de lo habitual cuando se borra la memoria caché.
¿Es este comportamiento normal o me falta algo?
ACTUALIZACIÓN: Una actualización de memoria parece haber estabilizado el gráfico. Todavía veo pequeñas caídas, pero en ningún lugar tan significativo como antes de la actualización.
Respuestas:
Podrían ser muchas cosas. Tal vez uno de los programas que está ejecutando utiliza ocasionalmente y brevemente mucha RAM. Si eso es realmente semanas en el eje x, debe muestrear a una resolución mucho más alta (por ejemplo, una vez por minuto o incluso un segundo) para obtener más información sobre lo que está sucediendo que está causando la caída de la memoria caché.
ps
y latop
salida (incluido el promedio de carga) durante ese tiempo también sería útil.fuente
Una posible razón sería un archivo en crecimiento, como un registro, que se elimina, comprime o envía a otro lugar cuando alcanza un tamaño determinado.
En cualquier caso, su tamaño en caché, posiblemente todo si no hay presión de memoria en su sistema operativo, se liberaría de la caché tan pronto como se elimine el archivo original.
fuente