Содержание
Одноплатный компьютер-малютка 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 будет автоматически создаваться, настраиваться и подключаться во время каждой загрузки системы.