zram — это механизм Linux, который создаёт сжатое блочное устройство в оперативной памяти и позволяет использовать его как swap. В отличие от обычного swap, данные не записываются на диск — они остаются в RAM, но хранятся в сжатом виде. Это позволяет эффективнее использовать память и уменьшить обращения к медленному дисковому swap.Особенно полезен
zram на небольших VPS, контейнерных серверах и устройствах с ограниченным объёмом RAM, где нужно переживать кратковременные пики нагрузки без резкого падения производительности.Перед настройкой проверяем текущий
swap:swapon --show
free -h
Загружаем модуль ядра:
sudo modprobe zram
Проверяем появившееся устройство:
zramctl
Задаём размер
zram, например 4 GB:echo 4G | sudo tee /sys/block/zram0/disksize
Размер
zram не означает немедленное выделение 4 GB RAM. Фактически память занимает только сжатый объём реально используемых данных.Выбираем алгоритм сжатия. Чаще всего используют
lz4 или zstd: lz4 быстрее, zstd обычно даёт лучшее сжатие. Пример с lz4:echo lz4 | sudo tee /sys/block/zram0/comp_algorithm
Доступные алгоритмы:
cat /sys/block/zram0/comp_algorithm
Создаём
swap и включаем:sudo mkswap /dev/zram0
sudo swapon /dev/zram0
Проверяем:
swapon --show
zramctl
Теперь Linux использует
zram как swap-устройство, но данные находятся внутри RAM в сжатом виде, без постоянной записи на диск.Для сохранения после перезагрузки обычно используют
systemd-zram-generator или zram-tools. В Debian/Ubuntu при использовании zram-tools настройки обычно находятся в:/etc/default/zramswap
Также стоит учитывать параметр ядра
vm.swappiness, который влияет на активность использования swap:cat /proc/sys/vm/swappiness
zram и zswap — разные механизмы. zram создаёт отдельный swap внутри RAM. zswap работает как кэш перед обычным swap на диске.Проверка
zswap:cat /sys/module/zswap/parameters/enabled
🔥 Подведем итог:
zram не добавляет физическую память, но позволяет эффективнее использовать доступную RAM, уменьшает обращения к дисковому swap и помогает системе стабильнее переживать кратковременные пики нагрузки.➡️ DevOps Ready | #практика