Как загрузить рамдиск сейчас?

Последние ядра сделали модули ramdisk:

CONFIG_BLK_DEV_RAM = т

Какой модуль и где его найти.

Загружается ли во время загрузки из initramfs?

У меня был root на программном RAID1 с SSD и Ramdisk (/dev/ram1)

с записью - в основном на SSD.

CONFIG_BLK_DEV_RAM в исходном ядре является логическим, теперь является модулем?!?!

Есть ли основания для этого изменения?

Благодарю вас

1 ответ

Решение

Блок ramdisk модуль называется brd и может быть загружен следующим образом:

sudo modprobe brd rd_size=100000

где rd_size это количество блоков. После этого шага у вас есть устройство /dev/ram0 что вы можете поместить файловую систему в:

sudo mkfs /dev/ram0

и смонтировать.

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

Вот как создать Zram RAM-диск:

Создайте папку, в которую вы будете монтировать RAM-диск:

sudo mkdir /tmp/ramdisk 

Измените владельца этой папки, чтобы у вашего пользователя был полный доступ к RAM-диску, когда мы позже его смонтируем:

sudo chown -R yourUserName:yourGroupName /tmp/ramdisk

Сделайте папку неизменной, чтобы случайно не заполнить раздел ОС данными, предназначенными для RAM-диска:

sudo chattr +i /tmp/ramdisk

Загрузите модуль zram:

sudo modprobe zram

Создайте RAM-диск объемом 1 ГБ:

sudo zramctl --find --size 1G

Приведенная выше команда выведет путь к устройству созданного вами RAM-диска. Скорее всего, это будет /dev/zram0, и это то, что мы предполагаем в будущем.

Отформатируйте RAM-диск в EXT4:

sudo mke2fs -t ext4 -O ^has_journal -L "zram device" /dev/zram0

Смонтируйте RAM-диск в созданную нами неизменяемую папку точки монтирования:

sudo mount /dev/zram0 /tmp/ramdisk

Теперь вы сможете перемещать файлы на RAM-диск, расположенный по адресу /tmp/ramdisk/.

Если вы закончили играть с ним, размонтируйте его:

sudo umount /tmp/ramdisk/

Наконец, давайте уничтожим RAM-диск и освободим всю используемую память:

sudo zramctl --reset /dev/zram0

Если вы также хотите удалить папку /tmp/ramdisk, сначала сделайте его изменяемым:

sudo chattr -i /tmp/ramdisk

Теперь вы можете удалить папку:

rm -rf /tmp/ramdisk
Другие вопросы по тегам