[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Linux-Speicherverwaltung


On Wed 2021-04-07 13:05:38 Stefan Hagen wrote:

> Wenn du unterhalb des Dateisystems arbeitest, also auf
> Blockgeraete direkt zugreifst und diese dumpst, dann ist das ein
> anderes Szenario. Hier "streamst" du Bits und Bytes die fuer den
> Kernel keine Dateien sind. Es sind Bits und Bytes ohne Semantik.
> Diese muessen auch kurzfristig ueber den Hauptspeicher wandern,
> koennen aber nicht wiedererkannt werden und haben daher keinen
> Caching-Effekt. Darum wird der Speicher direkt freigegeben, damit
> er wieder zum Datei-Caching verwendet werden kann.

Ich habe mich durch ein paar Tests davon ueberzeugt, dass auch die 
semantikfreien Daten eines Blockgeraets gecacht werden! Allerdings 
nur so lange, wie das Blockgeraet gemountet ist.

Wenn das Blockgeraet *nicht* gemountet ist, wird der Speicher zwar 
ebenfalls mit buff/cache belegt (moderat unter Puppy-Linux) oder 
zugeschuettet (bei meinem aktuellen System, so dass es kaum noch 
nutzbar ist) aber nach Befehlsende ist der cache wieder weg.

Warum sich die Linux-Versionen im Grad der Belegung mit buff/cache 
unterscheiden, ist noch unklar.

Man kann das erkennen, wenn man mit dd auf ein Blockgeraet 
abwechselnd Zufallsdaten und Nullen schreibt, dann die 
Lesegeschwindigkeit misst (aus dem Cache natuerlich viel schneller) 
und mit less verifiziert, dass die schnellen Daten aus dem Cache 
sich tatsaechlich geaendert haben, was der Fall war.
-- 
Viele Gruesse
Werner