strongswan :получил NO _PROPOSAL _CHOSEN уведомить об ошибке

Помимо tmpfsи ramfs, еще одним вариантом является блочное устройство /dev/ram0. В последних версиях Ubuntu это устройство не существует по умолчанию, но его можно создать с помощью modprobe brd.

Этот подход более предсказуем, поскольку он создает реальную ext4файловую систему и никогда не превышает указанный вами предел. Но для настройки требуется больше действий, а оперативная память используется менее эффективно.

Использование модуля ядра brd (/dev/ram0)

Чтобы создать и инициализировать RAM-диск объемом 4 ГБ:

mkdir /ramdisk

modprobe brd rd_nr=1 rd_size=$((4 * 1048576))
mkfs.ext4 /dev/ram0
mount /dev/ram0 /ramdisk

Параметр rd_nrуказывает, сколько RAM-дисков создавать (по умолчанию, он создает 16, т.е. /dev/ram0-/dev/ram15). Параметр rd_sizeимеет размер в килобайтах . Синтаксис $((... ))позволяет выполнять арифметические действия в оболочке.

Чтобы освободить RAM-диск, размонтируйте его и удалите brdмодуль ядра:

umount /ramdisk
modprobe -r brd

Создание блочного устройства внутриramfs

Кроме того, вы можете создать блочное устройство внутриramfs:

mkdir /ramdisk-storage /ramdisk
mount -t ramfs ramfs /ramdisk-storage

truncate -s 4G /ramdisk-storage/ramdisk.img
mkfs.ext4 /ramdisk-storage/ramdisk.img
mount /ramdisk-storage/ramdisk.img /ramdisk

Команда truncateсоздает пустой файл заданного размера таким образом, что он инициализируется (, т.е. потребляет память )по запросу -.

Чтобы освободить RAM-диск, размонтируйте его и удалите образ диска:

umount /ramdisk
rm /ramdisk-storage/ramdisk.img

Сравнение с tmpfsиramfs

Хотя tmpfsи ramfsболее эффективны, чем использование блочного устройства, ниже приведены некоторые их недостатки.

tmpfsможет переключиться на диск. Это более эффективно, но иногда вам может понадобиться чистый RAM-диск :

.

  • Файлы, с которыми вы работаете, являются конфиденциальными (, например. файлы из зашифрованного раздела ).
  • Вы проводите тестирование производительности и не хотите, чтобы дисковый ввод-вывод был фактором (Время записи SSD может сильно различаться ).
  • Вы распаковываете большой файл и не хотите изнашивать свой SSD.

ramfsлегко настроить, освобождает место после удаления файлов,и использует оперативную память более эффективно (система не буферизует файлы, поскольку знает, что они находятся в оперативной памяти ). Но у него есть свои минусы и сюрпризы:

  • Утилита dfне сообщает об использовании пространства:

    root@cello-linux:~# df -h /ramdisk
    Filesystem      Size  Used Avail Use% Mounted on
    ramfs              0     0     0    - /ramdisk
    
  • Параметр ограничения размера отсутствует. Если вы поместите слишком много на виртуальный диск, ваша система зависнет.

  • Разреженные файлы могут стать неразреженными, когда вы меньше всего этого ожидаете. Этим утром я скопировал образ ВМ (150G, но 49G используется на диске )в ramfs(. У меня 128G ОЗУ ). Это сработало. Но когда я скопировал из в ramfsв место назначения, моя система перестала отвечать. Утилита cp, по-видимому, заполнила пробелы в чтении , но не в записи.

И tmpfs, и ramfsмогут вести себя иначе, чем реальная файловая система ext4. Этого можно избежать, создав блочное устройство в ОЗУ и инициализировав его с помощью ext4.

Для более глубокого сравнения -:https://www.kernel.org/doc/Documentation/filesystems/ramfs-rootfs-initramfs.txt

0
24.02.2021, 11:44
0 ответов

Теги

Похожие вопросы