Назад | Перейти на главную страницу

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

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

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

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

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

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

Или купите еще барана;)

Вы получите лучшую производительность от использования 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)