Deaktivieren Sie den Linux-Lese- und Schreibdateicache auf der Partition

9

Wie deaktiviere ich den Linux-Datei-Cache auf einer xfs-Partition (beide lesen und schreiben).

Wir haben eine xfs-Partition über ein Hardware-RAID, in dem unser RAW HD-Video gespeichert ist. Die meisten Aufnahmen haben jeweils eine Größe von 50 bis 300 GB, sodass der Linux-Cache eine Trefferquote von 0,001% aufweist.

Ich habe die Synchronisierungsoption ausprobiert, aber sie füllt beim Kopieren der Dateien immer noch den Cache.
(ca. 30x mehr pro Trieb: P)

/ etc / fstab:

/ dev / sdb1 / video xfs sync, noatime, nodiratime, logbufs = 8 0 1

Ich laufe Debian Lenny, wenn es hilft.

komplistisch
quelle

Antworten:

6

Es gibt eine Lösung, die perfekt zu Ihrem Anwendungsfall passt: http://code.google.com/p/pagecache-mangagement/

Nach dem Auschecken des Quellcodes:

svn checkout http://pagecache-mangagement.googlecode.com/svn/trunk/ pagecache-mangagement-read-only

Problem

make
sudo cp *.so /usr/local/lib/
sudo cp *.sh /usr/local/bin/

Dann können Sie jede gewünschte Anwendung starten

pagecache-mangagement.sh <App>

und die App wird Ihre Caches nicht füllen!

Robert Metzger
quelle
1
Dies war genau das, was ich für einen anderen Job brauchte, das gleiche Problem. Jetzt können meine anderen Programme dort den Cache verwenden, wo es nützlicher ist.
Komplistische
6

Das Nocache- Tool wurde für ein ähnliches Ziel entwickelt: Verhindern, dass bestimmte Befehle den aktuellen Puffercache beschädigen . Stellen ./nocacheSie einfach Ihren Befehl voran :

./nocache cp -a ~/ /mnt/backup/home-$(hostname)

Beachten Sie, dass das ähnliche Tool PageCache-Management - Ein Tool zum Ermöglichen der Verwaltung der PageCache-Nutzung beliebiger Anwendungen , wie von rmetzger festgestellt, immer noch im selben Zustand wie 2008 ist. Natürlich kann dies entweder gut oder schlecht sein. oder eine Mischung :) Ich habe keinen direkten Vergleich, aber ich habe die Nocache-Leute nach einem gefragt

nealmcb
quelle
5

Dies kann nicht sauber gemacht werden. Wenn Sie dies für bestimmte Anwendungen benötigen, sollten diese so geändert werden, dass sie O_DIRECTan ihre open(2)Anrufe weitergeleitet werden.

Ignacio Vazquez-Abrams
quelle
Die Dateien werden mit verschiedenen Anwendungen von Drittanbietern geschrieben / gelesen ... mv, md5sum, samba und dergleichen. Ich kann vielleicht einige davon in Zukunft durch meine eigene C-App ersetzen ... aber soweit ich das beurteilen kann, hat Samba keine O_DIRECT-Option.
Komplistische
Dies scheint der Schrank zu sein, den ich bekommen könnte. Ich verwende jetzt O_DIRECT, um von der P2-Karte auf die Festplatte zu kopieren, und dann erneut von der P2-Karte auf md5sum, um dies zu überprüfen. Dadurch wird die nutzlose Hälfte des Caches entfernt, sodass nur Videodateien auf der Festplatte zwischengespeichert werden.
Komplistische
2

man raw. Damit können Sie ein Raw-Gerät binden, das den Cache umgeht. Es gibt einige Einschränkungen. Ich habe es nur mit CD / DVD-Geräten verwendet, daher weiß ich nicht, wie gut es für Sie funktioniert.

Keith
quelle
Bindet der Befehl raw das Divice so, dass ich meine xfs-Partition zur Verwendung mit Samba an / video mounten kann? Die Dokumentation und die Google-Ergebnisse scheinen etwas vage zu sein.
Komplistische
Sie sollten sie nicht mischen. Ich denke, Sie können stattdessen das neue Raw-Gerät mounten.
Keith
Okay, ich werde dies auf einem alten leeren Laufwerk testen, wenn ich die Gelegenheit dazu bekomme.
Komplistische