Блог о жизни и технологиях

RAMDisk — или когда накупил оперативки, а на SSD не хватило

Сегодня речь пойдет о так называемом RAMDisk, или использовании оперативной памяти компьютера как дискового хранилища.

Благодаря своему главному преимуществу, огромной скорости, оперативная память используется для хранения данных запущенных программ и операционной системы. Однако, остающуюся память можно использовать также для хранения файлов, и будет даже быстрее, чем на SSD.

Уже заинтригованы? Без лишних слов перейдем к созданию своего рамдиска. Работать, как обычно, будем из-под Linux, здесь рамдиск можно сделать двумя командами, для винды есть какие-то васянопрограммы, гуглите сами.

sudo mkdir -p /mnt/ramdisk
sudo mount  -t tmpfs -o size=1024m tmpfs /mnt/ramdisk

Первая команда создает папку для монтирования диска, вторая подключает туда наш рамдиск с файловой системой tmpfs и объемом 1 гигабайт (1024Мб). Для еще более удобного подключения рамдиска я написал Shell-скрипт.

#!/usr/bin/env

echo "RAMDisk creation script";
read -p "Enter maximum capacity of RAMDisk. For example, 1024m. : " rdsize;

sudo mkdir -p /mnt/ramdisk
sudo mount  -t tmpfs -o size=$rdsize tmpfs /mnt/ramdisk

Здесь вас спросят, какого объема вы хотели бы себе диск, потом это значение подставляется в команду, которую мы рассмотрели выше.

После монтирования рамдиска, лично у меня он нигде не отобразился, однако к нему можно получить доступ, перейдя к папке /mnt/ramdisk.

Для того, чтобы каждый раз вручную не включать рамдиск, можно добавить запись в /etc/fstab:

tmpfs       /mnt/ramdisk tmpfs   nodev,nosuid,noexec,nodiratime,size=1024M   0 0

В общем-то теперь мы можем пользоваться рамдиском как будто это обычный жесткий диск, например. Только имейте в виду, что все данные с него удаляются безвозвратно при каждой перезагрузке ПК.

Тем не менее, даже так есть много применений рамдиска. Вот несколько из них:

Папка Загрузки

Если вы скачиваете много файлов из Сети, а потом вас бесит, что в Загрузках полно файлов и ничего невозможно найти, назначьте эту папку на рамдиск. Файлы будут быстрее скачиваться, а тот факт, что они удаляются при перезагрузке станет мотивацией быстрее отсортировать скачанное. Также туда удобно скачивать новые эпизоды онгоингов :)

Временная папка
Иногда нужно возиться с кучей файлов, например, при сборке из исходников или чего-то еще. В рамдиске все это можно делать быстрее и не думать о том, что за собой надо будет убирать.

Виртуализация
Если у вас ОЧЕНЬ МНОГО памяти, можно разместить там диск виртуальной машины.

Приватность
Тут все очевидно, после удаления из рамдиска, файлы не оставляют совершенно никаких следов. Идеально для работы с криптоконтейнерами или гостевыми профилями.

Рабочая папка для программ
Из рамдиска хорошо работают программы, которым важна скорость реакции диска, в том числе видеоигры, но здесь, опять же, надо ОЧЕНЬ МНОГО памяти.

Напоследок проведем тест скорости для любителей цифр. Используем команду dd, чтобы записать один гигабайт нулей.

dd if=/dev/zero of=/mnt/ramdisk/testspeed.img bs=1G count=1 conv=fdatasync

Вывод команды:

1073741824 байт (1,1 GB, 1,0 GiB) скопирован, 1,10704 s, 970 MB/s

Т. е. скорость RAMDisk примерно равна 1Гб/c, что в два раза больше, чем у SSD.

Пишите в комменты свой опыт и способы применения RAMDisk.

1 комментарий
irmaseo.ru 2020

Очень интересная статья