RAM-диск — это логический том, расположенный в оперативной памяти компьютера. Его польза очевидна: скорость доступа к информации в оперативной памяти несравненно выше, чем скорость доступа к жесткому диску или диску на твёрдотельном накопителе (SSD). Но есть и негативный момент: данные в оперативной памяти безвозвратно стираются при перезагрузке компьютера или отключении питания.
Тем не менее, существуют ситуации, когда скорость может иметь решающее значение. Это может быть, например, пакетная обработка изображений. Мне приходилось оптимизировать около 1 Гигабайта PNG-изображений, ещё попутно конвертируя их в WebP формат. Потом нужно было создать архив для загрузки финальных картинок на сервер. С RAM-диском все эти операции производились гораздо быстрее. Потеря данных на любом этапе не была критической — нужно было всего-лишь перезапустить скрипт.
Итак, чтобы создать RAM-диск, в терминале выполним команду:
diskutil erasevolume HFS+ 'RAM Disk' `hdiutil attach -nomount ram://XXXXX`
Замените символы XXXXX на количество блоков. Это количество вычисляется по формуле размер_в_байтах / 512
. Для дисков в несколько Гигабайт можно пользоваться грубой формулой размер_в_Гбайт * 2000000
.
Реальная память под диск будет выделяться по мере его заполнения данными и полностью освобождается только когда диск будет размонтирован.
Коментарии к заметке
Я так в ram-диске храню браузерный кеш от Google Chrome. Не уверен, что от этого есть большой толк, но как-минимум ssd-диск меньше работает на запись.