Dateien in filesystem cache laden
Michael Zoet
Michael.Zoet at michaelzoet.de
Mon Okt 12 10:38:27 BST 2009
> Michael Windelen schrieb:
>> Michael Windelen schrieb:
>>> Hallo!
>>>
>>> Gibt es eine einfache Möglichkeit in bestimmten Zeitabständen einen
>>> Ordner oder bestimmte Dateien in den Dateisystemcache zu laden?
>> [..]
>>> Ein Kopie des Ordners per cp dürfte ja wenig bringen da die Kopie ja
>>> dann wahrscheinlich im Arbeitsspeicher bleibt.
>>
>> Wie wäre es wenn ich einfach nach /dev/null kopiere?
>> Sozusagen:
>>
>> cp /pfadzuordner/ /dev/null
>>
> Sorry, für den Monolog :)
>
> da cp -R xx /dev/null nicht funktioniert. Wollte ich fragen ob:
> find /test/ -type f -print0 | xargs -0 cat > /dev/null
>
> eine Möglichkeit für mein Problem ist.
Ich kann dir zwar keine Lösung angeben, habe mich aber gefragt warum du
das machen möchtest?
Normalerweise (so weit ich das weiß) entscheidet ein Unix/Linux Kernel von
alleine was er vom Dateisystem im RAM cached und was nicht. Irgendeine
heuristic, die versucht vorher zusagen wo der nächste Palttenzugriff am
wahrscheinlichsten ist. Aber vielleicht gibt es da mittlerweile schon
andere scheduler, die sich anders verhalten. Wenn du jetzt sehr viele lese
Operationen auf die gleiche Datei hast, ist die sicherlich auch im Cache.
Bei einmaligem Zugriff nicht unbedingt. Da das aber bestimmt alles nur
Wahrscheinlichkeiten sind, kann man sich nie sicher sein.
Allerdings könntest du dir eine RAM Disk anlegen und dann sind deine Daten
garantiert im RAM Speicher. Mit allen Vorteilen (schneller Zugriff, usw.)
und allen Nachteilen (beim ausschalten ist alles weg!, usw.)
Grüße,
Michael
--
Michael Zoet
Webseite: http://zoet.de
E-Mail: Michael.Zoet at michaelzoet.de
Jabber: michazoet at jabber.c-base.org
Ubuntu Deutschland e.V.
Ubuntu-Berlin
c-base e.V.