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.
Очень интересная статья