Есть ли причина использовать tmpfs вместо или в дополнение к zRAM?

Я думаю об использовании zRam на моем сервере. Из того, что я читал о zRam, он, очевидно, делает все, что делает tmpfs и даже больше.

Когда zRAM работает, есть ли причина держать tmpfs рядом? Есть ли что-то, что tmpfs делает, чего не может сделать zRAM? Есть ли причина использовать tmpfs вместо или в дополнение к zRAM?

2 ответа

Данные, записанные в tmpfs будет храниться в памяти без сжатия, пока доступно достаточно памяти. Как только система оказывается под давлением памяти, она пытается переместить данные из tmpfs (и из любых других мест, как обычная память процесса) к любому swap (в том числе swap на zram) это можно найти. Также вы можете изменить параметры tmpfs делая простое mount -o remountособенно размер файловой системы или количество инодов.

С помощью zram поскольку поддержка временной файловой системы имеет недостаток, все записанные там данные должны быть немедленно сжаты (и распакованы при использовании). Кроме того, вам нужно поместить файловую систему поверх, какие структуры должны быть сохранены, даже если фактические файлы не хранятся. Также вы получаете ограничения, такие как максимальное количество инодов, вы не можете легко изменить его размер и так далее.

ИМХО, лучшее решение - смонтировать tmpfs где-то использовать и создать zram своп. Он сочетает в себе преимущества обоих, сводя к минимуму недостатки.

Или купите больше баранов couse;)

Вы получите лучшую производительность от использования zram за swap из-за сжатия, которое возможно.

zram-init марки zram прост в использовании. Не забудьте прочитать инструкцию.

Ваше ядро ​​должно быть собрано с CONFIG_ZRAM_LZ4_COMPRESS возможность иметь возможность извлечь выгоду из lz4 сжатие

я использую zram за swap & за /tmp (zram-init использует разумные параметры монтирования по умолчанию для /tmp):

root@alpine [~]# cat /proc/swaps
Filename                Type        Size    Used    Priority
/dev/vda7                               partition   1045500 0   -1
/dev/zram0                              partition   1048572 0   16383
root@alpine [~]# mount|grep zram
/dev/zram1 on /tmp type ext4 (rw,nosuid,nodev,noexec,discard)

Есть еще варианты использования для использования tmpfs, Я использую их для привязки монтажных томов с параметрами безопасного монтирования в lxc контейнеры:

root@http [~]# mount|grep tmpfs
tmpfs on /var/www/domain.com/bin type tmpfs (ro,nosuid,nodev,relatime,size=200k)
tmpfs on /var/www/domain.comm/dev type tmpfs (rw,nosuid,relatime,size=4k,mode=755)
Другие вопросы по тегам