En fait, je trace un graphique de mémoire qui montre la mémoire libre, en cache, utilisée et tampon sur ma machine virtuelle. Et je prends ces valeurs à l'aide de la commande sar -r
. Mon min_free_kbytes
est 256000.
Maintenant, la mémoire en cache augmente continuellement jusqu'à ce qu'il ne reste que 500 Mo de mémoire disponible. Pourquoi la mémoire en cache est-elle réduite dès que la mémoire disponible est réduite à environ 500 Mo alors que le min_free_kbytes
est défini sur 250 Mo?
La variable ajustable en /proc/sys/vm/min_free_kbytes
ne définit pas le moment exact où le système commencera à récupérer différentes formes de mémoire en mémoire cache, le cas échéant.
La variable ajustable en /proc/sys/vm/min_free_kbytes
sert à calculer au moins un le minimum nombre de pages de mémoire et un faible nombre de pages mémoire, par zone, le cas échéant. Une fois que le nombre de pages de mémoire disponibles est inférieur au faible seuil, le système de gestion de la mémoire commencera à tenter de récupérer les pages de mémoire en mémoire cache disponibles. L’objectif est de ne jamais vraiment toucher le le minimum nombre de pages de mémoire (même s’il le peut), tout en conservant de la place (et des temps de réponse) pour les besoins en mémoire à faible latence.
Voir également:/proc/meminfo
/proc/zoneinfo
La gestion de la mémoire sous Linux est un grand sujet et ma réponse est superficielle.