[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Linux-Speicherverwaltung
[Thread Prev] | [Thread Next]
- Subject: Re: Linux-Speicherverwaltung
- From: Stefan Hagen <sh@xxxxxxxxx>
- Date: Wed, 7 Apr 2021 18:12:03 +0200
- To: uugrn@xxxxxxxxxxxxxxx
Werner Holtfreter wrote: > 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. Das ist fuer mich nicht nachvollziehbar. Das bedeutet allerdings nicht, dass ich dir nicht glaube. Speichermanagement ist ein komplexes Thema. Ich fuerchte allerdings, dass keiner von den Kernelentwicklern auf die komische Idee kam ein gemountetes Geraet zu dd'en. Das ist naemlich ein wunderbarer Weg sich in den Fuss zu schieÃ?en. Wenn da wirklich was gecached wird, halte ich das fuer einen ungewollten Nebeneffekt. Das koennte man mal auf der LKML erfragen. > 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. Linux Kernel Version und Konfiguration. Speichermanagement ist komplex und hat viele Stellschrauben. > 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. Diskussionen auf diesem Level lassen sich eigentlich nur fuehren, wenn du deine Tests in ein Script packst und dieses hier mitschickst. Auf diese Art lassen sich Fehlinterpretationen ausschliessen. Viele Gruesse, Stefan -- STEFAN HAGEN // GPG 0x52BE43BA CONTACT: finger(1) finger@xxxxxxxxxxx