Как настроить ZRAM в Ubuntu Linux?

ZRAM – это фантастическое решение, позволяющее обменять часть мощности процессора на большее количество оперативной памяти. Как настроить его так, чтобы выделить больше или меньше оперативной памяти под ZRAM? Как можно изменить алгоритм сжатия? В каких сценариях такие изменения целесообразны?

Проверка текущего состояния ZRAM

Большинство людей используют ZRAM в своих дистрибутивах Ubuntu и Debian через скрипт zram-config. Это связано с тем, что он позволяет использовать преимущества ZRAM наиболее простым способом. Установить его можно с помощью команды:

sudo apt install util-linux zram-config

Далее необходимо проверить, включена ли уже ZRAM на вашей машине Ubuntu. Это можно сделать, запустив утилиту zramctl:

zramctl

Убедитесь, что Zswap в вашей системе отключен:

sudo -s
echo 0 >/sys/module/zswap/parameters/enabled

Zswap – альтернативное решение для кэширования оперативной памяти. Как и ZRAM, он поставляется по умолчанию с каждым дистрибутивом Linux. Однако, в отличие от ZRAM, он полагается на физические разделы подкачки, что означает, что он может быть медленным на старых дисках.

Перезагрузите компьютер, чтобы создать начальное устройство блока ZRAM в системе Ubuntu.

Правильная настройка ZRAM

После восстановления работоспособности машины проверьте, сообщает ли она теперь о наличии раздела ZRAM:

cat /proc/swaps

На скриншоте вы можете видеть типичный файл подкачки, сосуществующий с одним блочным устройством ZRAM. На нем моя система имела 4 ГБ оперативной памяти и 2 ГБ ZRAM, что составляет половину объема нашей оперативной памяти. Однако, в зависимости от рабочей нагрузки, вы можете изменить этот размер.

  • Если вы работаете с мультимедиа и видео, то эти данные не очень сжимаемы, поэтому, вероятно, лучше уменьшить размер ZRAM и увеличить реальный размер свопа.
  • Если вы работаете с большими базами данных или другими типами данных, которые сильно сжимаются, то все будет наоборот. В таких случаях можно увеличить скорость отклика компьютера, увеличив размер ZRAM.

Еще одна настройка, на которую стоит обратить внимание, связана с алгоритмом сжатия, используемым ZRAM. По умолчанию используется алгоритм LZO или LZO-RLE, который не требует больших усилий от процессора. Однако на современных процессорах более новый алгоритм ZSTD обычно обеспечивает лучшую степень сжатия, а его несколько большая нагрузка на CPU не ощущается. Стоит использовать этот алгоритм вместо старых вариантов LZO, если возраст вашего компьютера не превышает десяти лет.

Изменение размера ZRAM

Чтобы изменить настройки ZRAM, необходимо отредактировать его exec-скрипт в папке «/usr/bin». Введите в терминале следующую команду:

sudo nano /usr/bin/init-zram-swapping

Пролистайте сценарий «init-zram-swapping» и найдите строку, начинающуюся с mem .

Это определяет, сколько пространства ядро будет выделять под блочное устройство ZRAM. По умолчанию под него резервируется половина физической памяти системы. Вы можете уменьшить это значение до четверти, заменив «1024» на «512».»

Вы также можете увеличить объем памяти, занимаемый ZRAM, установив значение mem равным «1536». В результате под ZRAM будет выделено три четверти физической памяти.

Изменение алгоритма сжатия ZRAM

Из этого же места можно изменить алгоритм сжатия ZRAM. Для этого откройте новый терминальный сеанс, затем перечислите все доступные алгоритмы сжатия ZRAM:

cat /sys/block/zram0/comp_algorithm

Вы можете смешивать и сочетать алгоритмы в расширенных пользовательских конфигурациях ZRAM. Однако если вы используете значения по умолчанию, то все разделы ZRAM будут использовать один и тот же алгоритм.

Возвращаемся к отредактированному ранее исполнительному сценарию «init-zram-swapping». Там найдите следующую строку:

echo $mem >/sys/block/zram0/disksize

Скопируйте и вставьте ее непосредственно ниже, чтобы получилось два экземпляра одной и той же команды.

Замените $mem в первом экземпляре в начале строки на «zstd.»

Замените конец строки с «disksize» на «comp_algorithm.»

Примечание: Если вы хотите использовать другой алгоритм, замените zstd в приведенной выше команде на одно из значений из cat /sys/block/zram0/comp_algorithm .

Сохраните файл «init-zram-swapping», затем перезагрузите компьютер.

Проверьте, работает ли ваша новая настройка ZRAM, выполнив команду zramctl.

Убедитесь в производительности вашей системы под нагрузкой, когда она активно использует ваш настроенный своп. Если вы почувствуете, что система захлебывается или заикается, то, возможно, вы перестарались и вам нужно уменьшить выбранные значения. Если же, напротив, он летает, то, возможно, их можно еще увеличить.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Вдохновлен feeds.maketecheasier.com

Комментарии (0)