Seitencache-Nutzung in der Datei memory.stat der Kontrollgruppe aufgeführt

Seitencache-Nutzung in der Datei memory.stat der Kontrollgruppe aufgeführt

Die Datei memory.stat einer Kontrollgruppe listet die Seitencachenutzung für diese Kontrollgruppe auf (in den Feldern cache und total_cache). Wie wird die Seitencachenutzung abgeleitet?

Beispielsweise wird die Datei a.txt sowohl von Kontrollgruppe A als auch von Kontrollgruppe B geöffnet. Verwalten A und B jeweils ihren eigenen Cache von a.txt? Oder wird der Cache von a.txt von A und B gemeinsam genutzt? Wenn er gemeinsam genutzt wird, wird die Seitencachenutzung von memory.stat für A und B um den gleichen Betrag (Gesamtbetrag) erhöht?

Und warum enthält memory.stat kein Feld für den Puffercache oder den Swap-Cache?

Die Distribution ist Linux Mint 18.2.

Antwort1

Dies wird in Abschnitt 2.3 vonhttps://www.kernel.org/doc/Documentation/cgroup-v1/memory.txt...

2.3 Gemeinsam genutzte Seitenabrechnung

Freigegebene Seiten werden auf der Grundlage des First-Touch-Ansatzes abgerechnet. Die Cgroup, die eine Seite zuerst berührt, wird für die Seite abgerechnet. Das Prinzip hinter diesem Ansatz besteht darin, dass eine Cgroup, die eine freigegebene Seite aggressiv nutzt, letztendlich dafür zur Kasse gebeten wird (sobald sie von der Cgroup, die sie bereitgestellt hat, entlastet wird – dies geschieht bei Speicherknappheit).

Was die anderen Fragen betrifft …

Seit Linux 2.4 wird der Puffer dem Cache hinzugefügt (siehehttps://stackoverflow.com/a/14671569). Daher finden Sie in memory.stat kein separates Feld für Puffer.

Damit Swap in memory.stat aufgeführt wird, muss der Kernel wahrscheinlich mit CONFIG_MEMCG_SWAP_ENABLED kompiliert werden.

verwandte Informationen