Когда оперативной памяти начинает не хватать, система либо активно уходит в swap и тормозит, либо ловит OOM. Увеличивать RAM не всегда возможно, особенно на VPS, ноутбуках или старых серверах. Тут на помощь приходят
zram и zswap - два механизма сжатия памяти в linux.▪️ Что такое ZRAM
ZRAM - это сжатый swap прямо в оперативной памяти. Ядро создает блочное устройство (/dev/zram0), данные в нем хранятся в сжатом виде, обычно с коэффициентом 2–3x.➕ Плюсы:
swap без диска (очень быстро);
отлично работает на SSD-less системах;
спасает от резких OOM.
➖ Минусы:
съедает часть CPU на сжатие;
занимает RAM (но эффективнее обычного swap).
Быстрая настройка:
apt install zram-tools
Или вручную:
modprobe zram
echo lz4 > /sys/block/zram0/comp_algorithm
echo 4G > /sys/block/zram0/disksize
mkswap /dev/zram0
swapon /dev/zram0
▪️ Что такое ZSWAP
ZSWAP - это не отдельный swap, а кэш перед обычным swap. Сначала страницы памяти сжимаются и держатся в RAM, и только потом (если нужно) пишутся на диск.
➕ Плюсы:
прозрачный для системы;
не требует отдельного устройства;
снижает нагрузку на диск.
➖ Минусы:
нужен обычный swap;
меньше контроля, чем у zram.
Включается через параметры ядра:
zswap.enabled=1 zswap.compressor=lz4 zswap.max_pool_percent=20
Проверка:
cat /sys/module/zswap/parameters/enabled
▪️ Что выбрать
Ноутбук, VPS, бездисковая система - zram
Сервер с SSD и swap - zswap
Можно и вместе (zram как swap + zswap для дискового swap)
#linux #memory
🧑💻 NetworkAdmin