Мне нужно создать много временных файлов, к которым мне нужен быстрый доступ, поэтому я думаю об использовании RAM-диска. Проблема в том, что временные файлы могут стать довольно большими (1-4 ГБ), и в этом случае дисковое хранилище будет в порядке.
Есть ли способ создать сочетание RAM-диска и физического жесткого диска, чтобы жесткий диск использовался в худшем случае (когда я встречаюсь с большими временными файлами)?
---Редактировать---
Я не могу позволить себе более быстрые SSD, и мне не нужно постоянное хранилище, и мне не нужны 100 ГБ временных данных. Я использую для этого свой домашний компьютер (система AMD 2 ГГц ...). Я получил подсказку о UnionFS. Какой опыт с этим?
Использовать tmpfs и большой раздел или файл подкачки. Эта файловая система будет кэшировать данные в памяти до тех пор, пока это возможно, и выгружать их на диск, если они не помещаются в ОЗУ.
Почему бы не попробовать использовать твердотельные SSD-накопители? Вы можете приобрести диски емкостью 100 ГБ и более, и они намного быстрее стандартных дисков.
В зависимости от того, как долго вы ожидаете хранить эти временные файлы, вы можете использовать файловую систему, такую как XFS или ext4, которая поддерживает отложенное размещение. Такие файловые системы «достаточно умны», так что если недолговечный файл удаляется до того, как он был выделен (все еще находится в кеше), он вообще никогда не выделяется на диске и никакие данные не записываются.
Я пробовал это с XFS vs ext3, и разница была поразительной: тестовая программа, которая создает множество временных файлов, а затем удаляет их через некоторое время, почти не выполняла операций ввода-вывода на XFS, но загружается на ext3.
Но я согласен с другими постерами, tmpfs тоже неплохой (на самом деле может быть лучше)
Я бы второй вариант сделать RAID 0 (полоса) с аппаратным RAID-контроллером. Я процитировал сервер кодирования видео, и рабочие диски - это 15k SAS в RAID 0, и он перехватывает видео, как ничто другое.
Вы спрашиваете, можете ли вы создать ramdrive для кэширования некоторых временных файлов и другого раздела дискового пространства для ваших больших временных файлов и автоматически смешивать и сопоставлять их по мере необходимости? Это звучит немного сложно для достижения. Возможно, вам будет лучше, в зависимости от бюджета, взглянуть на установку SSD-диска для использования для временных файлов / подкачки или посмотреть на получение пары жестких дисков и чередование чтения / записи данных.
Я полагаю ты мог бы пытаться использование программного RAID с двумя дисками, один физический раздел и один полностью в памяти, для создания JBOD (всего лишь группы дисков); вы можете спросить о проблемах с этим, поскольку один диск не настоящий. Это могло бы дать забавные цифры в производительности, если бы оно работало. Это будет работать? Без понятия. Не слышал о людях, делающих это, но это был бы подход, который я исследовал бы в первую очередь.
Лично я бы посмотрел на обновление ваших дисков до более быстрых дисков (например, 15000 об / мин) и использование RAID для их чередования, программного или аппаратного RAID (не на mobo) или с использованием маршрута SSD, поскольку они могут быть быстрыми, но сжечь ваш кошелек как хорошо. В противном случае вы могли бы посмотреть на работу с 64-битной ОС и получить достаточно оперативной памяти для создания RAM-диска на несколько гигабайт для достижения того, что вы собираетесь делать.