Désactiver le cache de fichiers en lecture et en écriture sous Linux sur la partition

9

Comment puis-je désactiver le cache de fichiers linux sur une partition xfs (à la fois lire et écrire).

Nous avons une partition xfs sur un RAID matériel qui stocke notre vidéo RAW HD. La plupart des tournages font entre 50 et 300 Go chacun, de sorte que le cache Linux a un taux de réussite de 0,001%.

J'ai essayé l'option de synchronisation mais elle remplit toujours le cache lors de la copie des fichiers.
(environ 30x plus par tournage: P)

/ etc / fstab:

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

Je lance Debian Lenny si cela peut vous aider.

complistic
la source

Réponses:

5

il existe une solution parfaitement adaptée à votre cas d'utilisation: http://code.google.com/p/pagecache-mangagement/

Après avoir vérifié le code source:

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

problème

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

alors, vous pouvez commencer quelle que soit l'application que vous voulez avec

pagecache-mangagement.sh <App>

et l'application ne remplira pas vos caches!

Robert Metzger
la source
1
C'était exactement ce dont j'avais besoin pour un travail différent, le même problème. Maintenant, mes autres programmes peuvent utiliser leur cache là où il est plus utile.
complistic
5

le nocache Cet outil est conçu dans un but similaire: empêcher que des commandes spécifiques gâchent le cache de mémoire tampon actuel. Juste ajouter ./nocache à votre commande:

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

Notez que l'outil similaire pagecache-mangagement - Un outil pour permettre la gestion de l'utilisation pagecache d'applications arbitraires , comme le note rmetzger, est toujours dans le même état qu’en 2008. Bien sûr, cela peut être bon ou mauvais, ou un mélange :) Je n’ai pas de comparaison directe, mais j’ai demandé aux gens de nocache pour un

nealmcb
la source
4

Cela ne peut pas être fait proprement. Si vous en avez besoin pour certaines applications, vous devez les modifier pour passer O_DIRECT à leur open(2) appels.

Ignacio Vazquez-Abrams
la source
Les fichiers sont écrits / lus avec diverses applications tierces ... mv, md5sum, samba et autres. Je pourrai peut-être remplacer certaines de celles-ci par ma propre application C à l'avenir ... mais pour autant que je sache, samba dosnt a une option O_DIRECT.
complistic
Cela semble être le placard que je pourrais obtenir. J'utilise maintenant O_DIRECT pour copier de la carte P2 sur le disque dur, puis à nouveau de la carte P2 vers md5sum pour vérification. Cela supprime la moitié inutile du cache, donc les seules choses qui sont des fichiers vidéo mis en cache sur le disque dur.
complistic
1

man raw. Vous pouvez lier un périphérique brut qui contourne le cache avec cela. Il y a des restrictions. Je ne l'ai utilisé qu'avec des périphériques CD / DVD, donc je ne sais pas si cela fonctionnera pour vous.

Keith
la source
La commande raw lie-t-elle le périphérique de manière à ce que je puisse monter ma partition xfs sur / video pour l'utiliser avec samba? La documentation et les résultats sur Google semblent un peu vagues.
complistic
Vous ne devriez pas les mélanger. Je pense que vous pouvez monter le nouveau périphérique brut à la place.
Keith
D'accord, je vais tester cela sur un vieux lecteur vierge lorsque j'en aurai l'occasion.
complistic