Способы оплаты Abuse

Как настроить ZRAM на VPS с Ubuntu 24.04

01.07.2025, 17:46

Если у вас на сервере мало оперативной памяти, а диск — не самый быстрый, технология ZRAM может заметно ускорить систему. Она использует часть оперативки как сжатый swap: в память помещается в 2–3 раза больше данных, и они читаются быстрее, чем с диска. В этой статье расскажем, как включить ZRAM на Ubuntu 24.04 и при необходимости использовать его вместе с обычным swap-файлом.

Что такое ZRAM и зачем он нужен

ZRAM — это функция ядра Linux, которая позволяет создавать сжатый swap прямо в оперативной памяти. Вместо того чтобы сбрасывать неиспользуемые данные на диск (что долго и изнашивает SSD), система просто сжимает их и оставляет в RAM. Это особенно полезно на виртуальных серверах с 1–2 ГБ памяти.

Работает это так: создаётся специальное устройство в памяти, на которое система начинает выгружать данные. Используется один из алгоритмов сжатия — чаще всего lz4 или zstd. Например, при хорошем сжатии в 1 ГБ ZRAM можно уместить до 3 ГБ данных.

ZRAM не заменяет обычный swap полностью, но в большинстве случаев его хватает. А если сервер активно использует память или обрабатывает тяжёлые задачи — можно добавить ещё и swap на диске.

Как включить ZRAM в Ubuntu 24.04

В Ubuntu уже есть поддержка ZRAM, но по умолчанию она выключена. Самый простой и рекомендуемый способ её включить — установить пакет zram-tools. Он всё настроит сам и будет работать через systemd.

Шаг 1. Обновляем систему

sudo apt update && sudo apt upgrade -y

Это важно, чтобы получить актуальные версии пакетов и избежать ошибок.

Шаг 2. Устанавливаем zram-tools

sudo apt install zram-tools

После установки система получит сервис zramswap.service, который автоматически активирует ZRAM при старте.

Шаг 3. Настраиваем параметры

Файл конфигурации находится по адресу:

sudo nano /etc/default/zramswap

Пример настроек:

ALGO=lz4
PERCENT=50
PRIORITY=100

Поясним:

— ALGO=lz4 — быстрый алгоритм сжатия. Можно попробовать zstd — он эффективнее, но чуть медленнее.
— PERCENT=50 — сколько процентов от RAM отдать под ZRAM. Можно увеличить до 75, но не забывайте, что это та же память.
— PRIORITY=100 — приоритет swap. Чем выше число, тем раньше система начнёт использовать именно ZRAM.

Шаг 4. Перезапускаем сервис

После изменений не забудьте перезапустить службу:

sudo systemctl restart zramswap

Для надёжности можно отключить и снова включить все swap-устройства:

sudo swapoff -a && sudo swapon -a

Как проверить, что ZRAM работает

Запустите команду:

swapon --show

Вы должны увидеть /dev/zram0 с приоритетом, который вы задали. Подробнее — с помощью:

zramctl

Там отображаются:
— объем логического раздела;
— сколько данных реально хранится;
— сколько оперативной памяти используется;
— какой алгоритм сжатия применяется.

Также можно посмотреть общее использование памяти:

free -h

Или запустить htop — там ZRAM отображается как часть swap. Чтобы видеть больше данных, включите нужные колонки в настройках htop.

Для оценки работы системы под нагрузкой используйте:

vmstat 1

Обратите внимание на поля si и so — они показывают, сколько данных загружается из swap и выгружается туда. Если значения близки к нулю — всё работает хорошо.

Комбинация ZRAM и обычного swap

ZRAM может работать сам по себе, но иногда лучше добавить и swap-файл — особенно если:

— на сервере очень мало RAM (например, 512 МБ или 1 ГБ);
— вы используете ресурсоёмкие приложения (базы данных, компиляция, машинное обучение и т.д.);
— сервер должен выдерживать резкие всплески нагрузки;
— хостинг отключает процессы при нехватке памяти.

Если вы решите использовать оба типа swap, система будет выбирать, куда писать данные, в зависимости от приоритетов. Обычно ZRAM получает высокий приоритет (например, 100), а swap-файл — низкий (например, 10). Тогда сначала будет использоваться ZRAM, а потом — swap на диске.

Заключение

ZRAM — это отличный способ немного «растянуть» оперативную память на VPS и избежать перегрузки диска. Он особенно хорош, если ресурсов немного, а на сервере не крутится что-то тяжёлое. Настраивается он буквально за 5 минут — и может сильно улучшить стабильность и отзывчивость системы.

Если вы всё настроили правильно, swap через ZRAM будет задействован только тогда, когда система действительно в нём нуждается. И это значит, что вы получаете более эффективную работу сервера — без лишней нагрузки и тормозов.