Как просто создать RAM-диск на системах Debian, Ubuntu, Linux Mint и CentOS

В этом уроке вы узнаете, как легко создать RAM-диск на любом дистрибутиве Linux (Debian, Ubuntu, Fedora, Arch Linux, CentOS и других). В отличие от платных решений для создания RAM-дисков в Windows, Linux предоставляет такую возможность совершенно бесплатно.

RAM-диск — это виртуальный диск, который создаётся в оперативной памяти компьютера. Он работает аналогично жёсткому диску или SSD, но благодаря использованию оперативной памяти обеспечивает гораздо более высокую скорость работы.

RAM-диск, или RAM-драйв, представляет собой сегмент оперативной памяти (RAM), который форматируется под файловую систему. Его можно подключить к каталогу в Linux и использовать как диск.

Почему стоит применять RAM-диск?

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

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

  • Ультрабыстрая скорость
  • Способен выдерживать множество повторных циклов чтения и записи

Ограничения у RAM-диска:

  • Оперативная память (RAM) относится к энергонезависимой памяти, что подразумевает утрату всех данных на RAM-диске при выключении или перезагрузке компьютера. Тем не менее, в определённых обстоятельствах это может оказаться полезным, если подходить к её использованию разумно.
  • Поскольку RAM имеет высокую стоимость, ее объем обычно ограничен. Важно следить за тем, чтобы не выделять избыточное пространство для RAM-диска, иначе это может привести к нехватке оперативной памяти для операционной системы.

С RAM-диском открываются широкие возможности для выполнения различных увлекательных задач.

  • RAM-диск идеально подходит для хранения временных данных или кэширования папок, например, для кэша FastCGI в Nginx или архивов загруженных пакетов Debian (/var/cache/apt/archive/). Если у вас есть SSD и вы часто выполняете операции записи в определенную директорию, вы можете примонтировать её как RAM-диск, что поможет снизить износ SSD.
  • Я также применяю RAM-диск для временного сохранения скриншотов, когда пишу статьи для этого блога, чтобы они автоматически удалялись при выключении компьютера.
  • Вы, возможно, удивитесь, но я применяю RAM-диск для работы с виртуальными машинами в VirtualBox. Мой SSD имеет емкость около 250 ГБ, и мне не хватает его для запуска множества виртуальных машин. Кроме того, скорость моего механического жесткого диска на 2 ТБ (HDD) меня не устраивает. Я перемещаю виртуальные машины с HDD на RAM-диск перед их запуском, чтобы повысить скорость работы. После завершения работы виртуальной машины я быстро возвращаю файлы обратно на HDD, что занимает меньше одной минуты. Конечно, для этого требуется достаточно большой объем оперативной памяти.
Читайте также:  Подождать 3 часа, а потом включить трек в Linux

Создание RAM-диска в любом дистрибутиве Linux.

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

sudo mkdir /tmp/ramdisk

Чтобы предоставить всем пользователям вашей системы Linux возможность использовать RAM-диск, установите права доступа к каталогу на 777.

sudo chmod 777 /tmp/ramdisk

После этого убедитесь, сколько свободной оперативной памяти доступно в вашей системе, используя утилиту командной строки htop, поскольку нам не следует превышать лимиты использования оперативной памяти.

htop

просто создать RAM-диск в Linux

После этого нужно лишь выбрать тип файловой системы, указать размер RAM-диска, задать имя устройства и смонтировать его в нужную директорию. На приведенном выше скриншоте видно, что у меня достаточно свободной оперативной памяти, поэтому я могу без труда выделить 1 ГБ для RAM-диска. Это можно выполнить с помощью следующей однострочной команды. Для этого будет использована файловая система tmpfs, а её размер установлен на 1024 МБ. Я назвал устройство myramdisk.

sudo mount - t tmpfs - o size=1024m myramdisk /tmp/ramdisk

Для создания RAM-диска объемом 10 ГБ используйте следующую команду.

sudo mount - t tmpfs - o size=10G myramdisk /tmp/ramdisk

В случае, если мы осуществим следующую инструкцию

Читайте также:  Установка Drupal 7 на CentOS 7 с использованием стека LEMP

mount | tail - n 1

Мы наблюдаем, что диск был успешно подключен.

Если я перемещу файл своей виртуальной машины VirtualBox (5.8 ГБ) на RAM-диск, потребление оперативной памяти неожиданно увеличится до 9.22 ГБ.

Если я отключу RAM-диск,

sudo umount /tmp/ramdisk/

Вся информация в этой папке будет удалена, а использование оперативной памяти вернется к своему первоначальному уровню.

Вот способы, как можно убедиться в работоспособности вашего RAM-диска.

Проверка производительности оперативного RAM-диска.

Для проверки скорости записи на RAM-диск можно воспользоваться утилитой dd.

sudo dd if=/dev/zero of=/tmp/ramdisk/zero bs=4k count=100000

Это позволило достичь скорости записи в 2.8 ГБ/с.

Для проверки скорости чтения выполните следующие действия:

sudo dd if=/tmp/ramdisk/zero of=/dev/null bs=4k count=100000

Это обеспечило мне скорость чтения в 3,1 ГБ/с.

Я также проверил скорость своего SSD. Скорость записи оказалась 534 МБ/с, а скорость чтения — 1.6 ГБ/с.

Автоматическое подключение при старте системы.

Внесите изменения в файл /etc/fstab.

sudo nano /etc/fstab

Пожалуйста, внесите эту строку:

myramdisk /tmp/ramdisk tmpfs defaults, size=1G, x-gvfs-show 0 0

Команда x-gvfs-show поможет вам отобразить RAM-диск в вашем файловом менеджере. Сохраните изменения и закройте файл. Ваша Linux-система автоматически подключит RAM-диск при старте компьютера.

Для немедленного применения изменений без перезагрузки выполните следующую команду.

sudo mount - a

Применение RAM-диска для снижения износа SSD.

Для продления срока службы вашего SSD рекомендуется минимизировать операции записи и удаления. В операционной системе Linux выделяются два основных типа активности, которые в значительной степени способствуют этим операциям.

  • Инсталляция и модернизация программных приложений.
  • Заполнение журналов

В дистрибутивах Linux, основанных на Debian, временная папка для загрузки пакетов программного обеспечения располагается по адресу /var/cache/apt/archives/. После завершения установки пакета, менеджер пакетов APT автоматически убирает файлы. deb из этой папки. Чтобы смонтировать эту директорию в оперативную память, вы можете добавить следующую строку в файл /etc/fstab.

package_archive /var/cache/apt/archives tmpfs defaults, size=6G 0 0

Fedora хранит временные файлы загрузки пакетов в папке /var/cache/dnf/. Вы можете добавить следующую строку в файл /etc/fstab, чтобы подключить эту папку к оперативной памяти.

package_archive /var/cache/dnf tmpfs defaults, size=6G 0 0

Некоторые могут задуматься, не вызовет ли монтирование данной директории проблем при обновлении Fedora до новой версии, ведь для установки пакетов обновления требуется перезагрузка. Но на это есть ответ — нет, монтирование не повлияет на процесс обновления системы. Fedora хранит пакеты для обновления в отдельной директории: /var/lib/dnf/system-upgrade/.

Читайте также:  Как установить и настроить PHP на Ubuntu пошаговое руководство для начинающих

В Linux директория, где хранятся журналы, обычно располагается по пути /var/log/. Монтирование всей директории /var/log/ в оперативную память считается небезопасным. Перейдите в указанную директорию.

cd /var/log/

Проверьте, соответствует ли её размер.

sudo du - h

Поддиректория /var/log/journal/ может занимать значительное пространство на диске, так как она хранит журналы сервисов systemd. Её можно безопасно перенести в оперативную память, добавив соответствующую строку в файл /etc/fstab.

systemd_journal /var/log/journal tmpfs defaults, size=6G 0 0

Если вы работаете с веб-сервером Nginx, вам может быть полезно переместить каталог /var/log/nginx/ в оперативную память. На одном из моих серверов этот каталог занимает 2,2 ГБ.

nginx_logs /var/log/nginx/ tmpfs defaults, size=6G 0 0

После того как файл /etc/fstab будет сохранен, выполните команду для монтирования всех файловых систем.

sudo mount - a

Как запустить виртуальную машину VirtualBox с использованием RAM-диска

Учтите, что для этого потребуется значительное количество оперативной памяти.

При создании новой виртуальной машины необходимо задать папку машины в каталоге RAM-диска ( /tmp/ramdisk/ ). Если опция «Папка машины» недоступна, потребуется установить последнюю версию Virtualbox на вашу систему.

Запуск виртуальной машины VirtualBox на диске оперативной памяти.

Если у вас есть существующая виртуальная машина, выберите её в главном окне VirtualBox Manager и перейдите в меню, выбрав Машина ->Переместите виртуальную машину, либо кликните по ней правой кнопкой мыши и в контекстном меню выберите пункт «Переместить». После этого вам предложат указать новую папку для хранения виртуальной машины. Выберите /tmp/ramdisk/ в качестве новой директории.

Перемещение папки виртуальной машины в VirtualBox

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

Запуск системы Linux в оперативной памяти без использования VirtualBox.

Живой USB-накопитель с Linux обладает полезной функцией под названием toram, которая загружает всю файловую систему в оперативную память. Это значительно ускоряет работу операционной системы, так как она функционирует в RAM.

Для формирования Linux Live USB я советую воспользоваться приложением systemback, поскольку оно позволяет создать live-систему на основе вашей текущей установки Linux. Вы сможете включить все установленные программы и личные файлы в создаваемый live USB.

Итоговый анализ

Это основные аспекты настройки RAM-диска в Linux. Если вам понравилась эта информация, не забудьте подписаться на нашу бесплатную рассылку, следить за нами в Twitter или поставить лайк на нашей странице в Facebook. Благодарим за ваш визит!