Показаны сообщения с ярлыком рамдиск. Показать все сообщения
Показаны сообщения с ярлыком рамдиск. Показать все сообщения

суббота, 3 февраля 2024 г.

HDD in RAM (Linux)

Я уже как то писал про создание виртуального диска в оперативной памяти.

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

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

Речь немного о старых системах с DDR3 где то может и DDR4.

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


Итак начнем , правда в линукс это не совсем диск , а скорее папка в оперативной памяти , что в целом нас устраивает.

Для начала создаем папку :

sudo mkdir /tmp/ramdisk


Настраиваем уровень доступа 777 позволяет взаимодействовать с диском всем пользователям :

sudo chmod 777 /tmp/ramdisk


Для начала надо проверить сколько у нас свободного места в оперативной памяти , это можно сделать с помощью приложения типа htop

htop

Теперь создаем диск на 1ГБ :

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

 Что бы получить доступ к папке и посмотреть есть ли в ней что то просто вбиваем в окне файлового менеджера путь к нашей папке /tmp/ramdisk

Что бы удалить нашу папку можно воспользоваться командой :

sudo umount /tmp/ramdisk/


Теперь проверим как работает наша папка :

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


Мы получим скорость записи в папку , так же проверим и скорость чтения.


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


Для сравнения я сделаю тест и с SSD который установлен у меня , так же у меня подключен SD диск.

SSD :

SD:

Кажется что вроде как и не сильно большая разница , но что если увеличить размер файла в 10 раз. 

Тут уже явно видно приемущество папки в RAM.


Думаю стоит так же отметить и другие плюсы и минусы ,помимо скорости , с которыми можно столкнуться используя эту папку в RAM.

Основной минус это то , сто при экстреном отключении от сети вы потеряеете все данные с папки. Из плюсов разве что то , что если ваще приложение часто обращается к диску , то вы его не нагружаете. Т к ресурсы жесткого диска и SSD  все же не безграничны.


ad