Отключить кеш чтения и записи в Linux на разделе

9

Как отключить кэш файлов Linux на разделе XFS (оба читают запись).

У нас есть раздел xfs на аппаратном RAID, который хранит наше RAW HD-видео. Большинство снимков занимает по 50-300 Гбайт, поэтому коэффициент использования кэша Linux составляет 0,001%.

Я попробовал вариант синхронизации, но он все еще заполняет кэш при копировании файлов.
(примерно в 30 раз за выстрел: P)

/ И т.д. / Fstab:

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

Я работаю с Debian Lenny, если это поможет.

complistic
источник

Ответы:

6

Существует решение, которое идеально подходит для вашего случая использования: http://code.google.com/p/pagecache-mangagement/

После проверки исходного кода:

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

вопрос

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

Затем вы можете запустить любое приложение, с которым вы хотите

pagecache-mangagement.sh <App>

и приложение не будет заполнять ваши кеши!

Роберт Метцгер
источник
1
Это было как раз то, что мне нужно для другой работы, той же проблемы. Теперь мои другие программы могут использовать там кеш, где это более полезно.
Завершающий
6

Средство nocache разработано для аналогичной цели: предотвращение порчи определенных команд текущим буферным кешем. Просто приготовьтесь ./nocacheк вашей команде:

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

Обратите внимание, что подобный инструмент pagecache-mangagement - инструмент, позволяющий управлять использованием кэша страниц произвольными приложениями , как отметил rmetzger, все еще находится в том же состоянии, что и в 2008 году. Конечно, это может быть как хорошо, так и плохо, или микс :) ​​У меня нет прямого сравнения, но я попросил nocache для одного

nealmcb
источник
5

Это не может быть сделано чисто. Если вам требуется это для определенных приложений, то они должны быть изменены, чтобы перейти O_DIRECTк их open(2)вызовам.

Игнасио Васкес-Абрамс
источник
Файлы пишутся / читаются с помощью различных сторонних приложений ... mv, md5sum, samba и тому подобное. Возможно, в будущем я смогу заменить некоторые из них своим собственным приложением C ... но, насколько я могу судить, у samba dosnt есть опция O_DIRECT.
complistic
Кажется, это шкаф, который я мог достать. Сейчас я использую O_DIRECT для копирования с карты P2 на жесткий диск, а затем снова с карты P2 на md5sum для проверки. Это удаляет бесполезную половину кэша, поэтому единственные вещи, которые кэшируются видеофайлы на жестком диске.
Завершён
2

man raw, С этим вы можете связать необработанное устройство, которое обходит кеш. У него есть некоторые ограничения. Я использовал его только с устройствами CD / DVD, поэтому я не знаю, насколько хорошо он будет работать для вас.

Кит
источник
Привязывает ли команда raw устройство, чтобы я мог смонтировать раздел xfs в / video для использования с samba? Документация и результаты Google выглядят немного расплывчатыми.
complistic
Вы не должны смешивать их. Я думаю, что вы можете смонтировать новое устройство raw вместо.
Кит
Хорошо, я протестирую это на старом пустом диске, когда у меня будет шанс.
complistic