Puffer sind einem bestimmten Blockgerät zugeordnet und decken das Zwischenspeichern von Dateisystem-Metadaten sowie das Verfolgen von In-Flight-Seiten ab. Der Cache enthält nur geparkte Dateidaten. Das heißt, die Puffer merken sich, was sich in Verzeichnissen befindet, welche Dateiberechtigungen gelten, und verfolgen, aus welchem Speicher für ein bestimmtes Blockgerät geschrieben oder gelesen wird. Der Cache enthält nur den Inhalt der Dateien selbst.
Link zitieren
Zitierte Antwort (als Referenz):
Kurze Antwort:Cached ist die Größe des Seitencaches. Puffer ist die Größe der speicherinternen Block-E/A-Puffer. Zwischengespeicherte Angelegenheiten; Puffer sind weitgehend irrelevant.
Lange Antwort:Cached ist die Größe des Linux-Seitencaches abzüglich des Speichers im Swap-Cache, der durch SwapCached dargestellt wird (daher ist die Gesamtgröße des Seitencaches Cached + SwapCached). Linux führt alle Datei-I/Os über den Page-Cache durch. Schreibvorgänge werden so implementiert, dass die entsprechenden Seiten im Seiten-Cache einfach als schmutzig markiert werden; die Flusher-Threads schreiben dann regelmäßig alle unsauberen Seiten auf die Platte zurück. Lesevorgänge werden implementiert, indem die Daten aus dem Seitencache zurückgegeben werden; wenn die Daten noch nicht im Cache sind, werden sie zuerst gefüllt. Auf einem modernen Linux-System kann Cached leicht mehrere Gigabyte betragen. Es schrumpft nur als Reaktion auf Speicherdruck. Das System löscht den Seiten-Cache zusammen mit dem Auslagern von Daten auf die Festplatte, um bei Bedarf mehr Speicher verfügbar zu machen.
Puffer sind speicherinterne Block-E/A-Puffer. Sie sind relativ kurzlebig. Vor der Linux-Kernel-Version 2.4 hatte Linux separate Seiten- und Puffer-Caches. Seit 2.4 sind der Seiten- und Puffer-Cache vereinheitlicht und Puffer sind rohe Festplattenblöcke, die nicht im Seiten-Cache dargestellt werden – d. h. keine Dateidaten. Die Puffermetrik ist daher von minimaler Bedeutung. Auf den meisten Systemen sind Puffer oft nur zehn Megabyte groß.