it-swarm.com.de

Ermöglicht "min_free_kbytes = 256000" das Zwischenspeichern, auch wenn der freie Speicherplatz 250 MB beträgt?

Ich zeichne gerade ein Speicherdiagramm, das den freien, zwischengespeicherten, belegten und gepufferten Speicher auf meiner VM zeigt. Diese Werte nehme ich mit dem Befehl sar -r. Mein min_free_kbytes ist 256000.

enter image description here

Jetzt nimmt der zwischengespeicherte Speicher kontinuierlich zu, bis nur noch 500 MB freier Speicher verfügbar sind. Warum wird der zwischengespeicherte Speicher reduziert, sobald der freie Speicher auf ca. 500 MB reduziert wird, obwohl min_free_kbytes auf 250 MB festgelegt ist?

3
Mukund Gandlur

Die einstellbare Variable bei /proc/sys/vm/min_free_kbytes definiert nicht den genauen Zeitpunkt, an dem das System beginnt, verschiedene Formen des zwischengespeicherten Speichers zurückzugewinnen, sofern vorhanden.

Die einstellbare Variable bei /proc/sys/vm/min_free_kbytes wird verwendet, um mindestens a zu berechnen minimum Anzahl der Speicherseiten und a niedrig Anzahl der Speicherseiten pro Zone, falls zutreffend. Sobald die Anzahl der verfügbaren Speicherseiten unter dem Symbol liegt niedrig Bei einem bestimmten Schwellenwert versucht das Speicherverwaltungssystem, verfügbare zwischengespeicherte Speicherseiten wiederherzustellen. Das Ziel ist es, niemals das zu treffen minimum Anzahl der Speicherseiten (obwohl dies möglich ist), während Speicherplatz (und Antwortzeiten) für Speicheranforderungen mit geringer Latenz beibehalten werden.

Siehe auch:
/proc/meminfo/proc/zoneinfo

Linux-Speicherverwaltung ist ein großes Thema, und meine Antwort ist oberflächlich.

2
Doug Smythies