Wenn ich mir anschaue, wie sich der VFS-Cache auf meinem Linux-Computer verhält, kann ich feststellen, dass selbst im Leerlauf (crond und die meisten anderen Daemons gestoppt, Schnittstellen heruntergefahren) die Menge an freiem Speicher allmählich zunimmt, was bedeutet, dass Elemente aus dem Cache entfernt werden.
Ich habe viel gegoogelt, kann aber keinen Hinweis darauf finden, wie dies gesteuert wird (es sei denn, es ist ein Nebeneffekt von vm_swappiness). Kann mich jemand auf den richtigen Weg bringen, um zu verstehen, warum Elemente aus dem Cache entfernt werden, wenn keine neue Speicherzuweisung erforderlich ist?
vmstat
würde sich die Größe der Caches erhöhen, - sind sie wirklich?Antworten:
Swappiness wirkt sich nur darauf aus, ob der zugewiesene Anwendungsspeicher ausgelagert wird, um Platz für den Cache zu schaffen. vfs_cache_pressure ist das System, das steuert, was Sie sehen.
quelle
Linux löscht die Daten aus dem Seitencache mithilfe eines Prozesses namens pdflush
pdflush wird durch Parameter aus / proc / sys / vm gesteuert
Weitere Informationen finden Sie in den folgenden Threads:
Der pdflush-Daemon
Theorie des Betriebs und der Optimierung für schreibintensive Lasten des
Linux-Cache-Speichers
quelle