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.

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!


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


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.


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.


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.