5

Я играл с Linux RAMDISK, как в блочном устройстве /dev/ram0 . Я понимаю, что когда я впервые начинаю запись на одно из этих устройств, ему выделяется некоторая оперативная память.

Как освободить память, используемую, скажем, /dev/ram0? Другими словами: как я могу указать ядру Linux, что я готов, и он может вернуть любые ресурсы, которые хранятся в /dev/ram0?

3 ответа3

2

Если вы не отформатируете ramdisk что-то вроде

mke2fs -m 0 /dev/ram0

Сами ramdisk не занимают места в памяти.

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

Некоторые другие ресурсы, которые вы можете проверить:

http://e2enetworks.com/2008/10/25/linux-in-memory-filesystems-tmpfs-vs-ramdisk/

http://www.vanemery.com/Linux/Ramdisk/ramdisk.html

http://www.linuxdoc.org/HOWTO/BootPrompt-HOWTO-3.html

0

/dev/ram0 и другие реализованы модулем ядра brd linux: Источник - http://elixir.free-electrons.com/linux/latest/source/drivers/block/brd.c, документация для modprobe brd: https://www.novell.com/support/kb/doc.php?id=7012396.

Попробуйте выгрузить (rmmod) модуль с помощью rmmod brd , это единственный способ вызвать функцию brd_del_one и удалить ramdisk.

Freeram является частью пакета loadlin https://launchpad.net/ubuntu/+source/loadlin/1.6f-5 и реализован как открывающее устройство для чтения / записи и выполнения BLOFLSBUF ioctl.

  char rname[256]="/dev/ram";
  char b[256];
  int f;
  f=open(rname,O_RDWR))
  ioctl(f,BLKFLSBUF);

который определен в https://elixir.free-electrons.com/linux/latest/source/include/uapi/linux/fs.h как

   #define BLKFLSBUF  _IO(0x12,97)  /* flush buffer cache */
-1

Шаг 1: подумайте, что именно было разработано всем вашим телом

Красная крышка автоматически генерирует шестнадцать виртуальных дисков, хотя они не обязательно "активны" или используют практически любую оперативную память. В нем перечислены продукты ram0: ram 19, однако исключительно ram0: ram15 обычно используются автоматически. Чтобы проверить эти блочные продукты, используйте get get:

[root]# ls -l /dev/ram*
lrwxrwxrwx 1 root root four Jun 12 00: thirty-one /dev/ram -> ram1

Шаг 2. Улучшение размера виртуального диска

Размер Ramdisk можно контролировать с помощью решения командной строки, которое передается ядру в ходе транка. Поскольку GRUB может быть загрузчиком по умолчанию, предназначенным для Cap 9 красного цвета, я преобразую /etc/grub.conf , используя новое ядро. Реальное решение ядра, предназначенное для размера ramdisk, может быть следующим: ramdisk_size=xxxxx , где xxxxx может быть размером, указанным с 1024-байтовыми помехами. Могу сделать для вас, я дополню /etc/grub.conf для вас, чтобы настроить шестнадцать МБ RAM-дисков

Шаг 3: Форматирование данных конкретного виртуального диска

Вам не требуется форматировать конкретный виртуальный диск как файл журнала, поэтому большинство из нас использует только общий процесс ext2. Когда я хочу использовать только один конкретный виртуальный диск, я собираюсь использовать только файл формата /dev/ram0:

Шаг: Сделайте место прикрепления вместе с приложением конкретного виртуального диска

Сегодня вы отформатировали конкретный виртуальный диск, для этого вам нужно создать место для прикрепления. Тогда вы точно можете прикрепить свой текущий ramdisk вместе с работой с ним. Многие из нас будут использовать конкретный сервис /mnt/rd из-за этих операций.

Занятие 5: Используйте виртуальный диск

Поскольку он был спроектирован, вы можете легко реплицировать, перемещать, избавляться от него, пересматривать вместе с количественными файлами данных на виртуальном диске при условии, что эти люди столкнутся с фактическим разделом физического жесткого диска. На самом деле, это фантастическая позиция, предназначенная для просмотра расшифрованных файлов GPG или, возможно, файлов данных OpenSSL, в дополнение к фантастической позиции просто для проверки файлов данных, которые должны быть зашифрованы. Сразу после того, как ваш собственный хост определенно опустился, осталось много записей, связанных с файлами данных, созданными вокруг виртуального диска.

Чтобы размонтировать этот виртуальный диск, просто введите ваш следующий:

[root]# umount -v /mnt/rd
/dev/ram0 umounted.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .