Zram Raspbian 9

Настройка zram в Raspbian 9 на Raspberry Pi 3 Model B+

Одноплатный компьютер-малютка Raspberry Pi 3 Model B+ у меня уже несколько месяцев, и справляется он с нужными мне задачами без проблем. ОЗУ у неё всего 1 гигабайт, что даже для современных среднечков-смартфонов уже мало, и никак её физически не увеличишь. За то программно — легко ☺️ Данный пост — заметка преимущественно для себя о том, как увеличить оперативную память на Raspberry Pi 3, но писался в надежде на то, что многим владельцам малины это тоже будет полезно 😉 Будем запиливать Zram в Raspbian 9.

Что такое zram?

Zram — это технология, при которой все данные, не помещающиеся в оперативной памяти (или не нужные там в данный момент) сбрасываются в swap, который находится в той же ОЗУ, но данные которого сжимаются современными алгоритмоми сжатия, тем самым уменьшая размер данных более, чем в 3 раза. Подробнее можно почитать здесь. Для малины — то, что надо.

Установка и настройка zram в Raspbian

Качаем deb пакет по этой ссылке: http://de.archive.ubuntu.com/ubuntu/pool/universe/z/zram-config/zram-config_0.5_all.deb и устанавливаем в систему:

wget http://de.archive.ubuntu.com/ubuntu/pool/universe/z/zram-config/zram-config_0.5_all.deb sudo dpkg -i zram-config_0.5_all.deb

Далее редактируем файл /etc/rc.local. Добавляем перед строкой «exit 0» следующее строки:

swapoff -a
modprobe zram num_devices=1
zramctl -r /dev/zram*
zramctl --find --size 512M 
mkswap /dev/zram0 
swapon -p 15 /dev/zram0 

Сохраняем и перезагружаем Raspberry Pi.

Проверка работы

Чтобы убедиться, что zram в системе работает, выполняем команду:

sudo zramctl

Если ответ будет такой, значит zram работает:

NAME ALGORITHM DISKSIZE DATA COMPR TOTAL STREAMS MOUNTPOINT
/dev/zram0 lzo 512M 4K 76B 4K 4 [SWAP]

Создание и подключение zram при каждой загрузке системы

Создавать раздел Zram и монтировать его вручную после каждой перезагрузки не очень удобно. Создадим задание cron, которое будет делать это автоматически при каждом запуске Raspberry Pi. Открываем crontab:

sudo crontab -e

Добавляем строку:

sudo su root -c "swapoff -a && modprobe zram num_devices=1 && zramctl -r /dev/zram* && zramctl --find --size 512M && mkswap /dev/zram0 && swapon -p 15 /dev/zram0"

Не забываем поменять параметр —size на нужный вам размер виртуального раздела zram. Сохраняем изменения и закрываем crontab, для nano это комбинации клавишь CTRL+O, CTRL+X. Об успешном применении заданий cron оповестит строчка в терминале «crontab: installing new crontab«. Теперь раздел zram будет автоматически создаваться, настраиваться и подключаться во время каждой загрузки системы.