Zram в качестве SWAP файла в Proxmox VE

Технология Zram

Zram - это технология, которая позволяет создать блочное устройство в оперативной памяти, данные на котором при сохранении сжимаются одним из выбранных алгоритмов. Доступно их несколько, в зависимости от версии операционной системы. Например, в последней версии Proxmox - это lzo, lz4, lz4hc, deflate. По умолчанию используется lzo. Вероятно, потому что он был добавлен в модуль ядра ранее и сохранен как стандартная настройка в целях совместимости. Самым оптимальным на данный момент будет выбор в пользу lz4. Он имеет оптимальное соотношение скорости и коэффициента сжатия и очень быстр в распаковке. Кроме того, lz4 доступен практически во всех актуальных дистрибутивах linux.

Пример должен сработать в свежих версиях Debian (начиная с 9) и Ubuntu (начиная с 18). В этом примере добавляем 32G:

modprobe zram
zramctl -s 32G -a lz4 /dev/zram0
mkswap /dev/zram0
swapon /dev/zram0 -p 10

Далее настроим автоматическое создание zram swap при старте системы:

echo "zram" > /etc/modules-load.d/zram.conf
echo "zram" > /etc/modules-load.d/zram.confecho 'KERNEL=="zram0", ATTR { disksize } ="32G" RUN="/sbin/mkswap /dev/zram0", TAG+="systemd"' > /etc/udev/rules.d/99-zram.rules

Посмотреть статистику использования раздела можно с помощью команды zramctl без параметров:

echo "/dev/zram0 none swap defaults,pri=10 0 0" >> /etc/fstab

Посмотреть статистику использования раздела можно с помощью команды zramctl без параметров:

zramctl
NAME ALGORITHM DISKSIZE DATA COMPR TOTAL STREAMS MOUNTPOINT
/dev/zram0 lz4 32G 48.7M 20.1M 21.5M 16 [SWAP]