Отключить файловый кэш для одного из дисков в Linux

На сервере, который раздает файлы, дисковая система построена так: 1 диск SATA + 2 диска SATA в RAID-1 + SSD диск. Установлено 14 гигабайт оперативки, больше 95% процентов занято файловым кэшем Linux.
С последних трех дисков дисков идет раздача контента (первый — системный).
Последнее время я заметил повышенную ненормальную нагрузку на SATA диски в разное время.
При копировании файла размером 300-400 мегабайт с первого диска на RAID-1 все происходит очень быстро, почти на полной скорости диска. Но при первом же доступе к этому файлу уже на RAID-1 (например подсчет его MD5), скорость чтения становится очень маленькой и Load Average растет с 0.6 до 5-6… В это же время идет раздача файлов с этого диска, но очень незначительная (не более 10 мбит).

Хотелось бы сделать так, чтобы данные с SSD диска (основной трафик, порядка 300 мбит) не забивали файловый кэш Linux и не вымывали оттуда данные файлового кэша с SATA дисков. Есть ли какая-то возможность это настроить? Используется Ubuntu Server 10.04 x64 с ядром 2.6.32-33-server. SSD и так справляется, без кэша, вот бы и убрать его.
  • Вопрос задан
  • 6253 просмотра
Решения вопроса 1
@V0Vka
На мой взгляд, если смонтировать файловую систему с SSD диска с опцией sync:
mount -o sync,noatime /dev/ssd-disk /mountpoint
кэшироваться эта fs не будет.
noatime — для того, чтобы каждый раз не записывалась информация о доступе к каждому файлу. Это сильно продлит жизнь SSD
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы