Раньше Canonical рекомендовала Raspberry Pi 4 с оперативной памятью не менее 4 ГБ для запуска Ubuntu Desktop, но Ubuntu 22.04 LTS должна работать более плавно на Raspberry Pi 4 2 ГБ, поскольку компания по умолчанию включила zswap, чтобы операционная система Linux лучше работала в системах с меньшим объемом памяти.
Canonical объясняет, что zswap — это, по сути, инструмент сжатия.
Когда процесс должен быть перемещен в swap-файл, zswap сжимает его и проверяет, нужно ли еще переместить новый, меньший размер, или он может остаться в вашей оперативной памяти. Гораздо быстрее распаковать «zswapped» страницу, чем получить доступ к swap-файлу, поэтому это отличный способ получить больше отдачи от систем с меньшим объемом оперативной памяти.
Хорошая новость заключается в том, что вам даже не нужно ждать выхода Ubuntu 22.04 LTS, так как его можно включить вручную в Raspberry Pi 4 следующим образом:
1 |
$ sudo sed -i -e 's/$/ zswap.enabled=1/' /boot/firmware/cmdline.txt |
Или просто отредактируйте файл /boot/firmware/cmdline.txt и добавьте следующую строку в существующую команду:
1 |
zswap.enabled=1 |
После перезагрузки это должно даже повысить производительность плат Raspberry Pi 4 с 4 ГБ и 8 ГБ ОЗУ, но с моделью 2 ГБ необходимы дополнительные шаги для включения распределителя z3fold и сжатия lz4. Команды для запуска подробно описаны в блоге Ubuntu, и, в конце концов, вы загрузите еще несколько модулей, и ваш cmdline.txt должен иметь три дополнительных параметра:
1 |
zswap.enabled=1 zswap.compressor=lz4 zswap.zpool=z3fold |
В Ubuntu 22.04 LTS делать нечего не надо, так как они будут включены по умолчанию.
Ранее мы писали о включении ZRAM в Ubuntu для повышения производительности и надежности систем с низким объемом оперативной памяти. Так в чем же разница между zram и zswap? Как мы понимаем, zram похож на сжатый swap-файл, который находится в ОЗУ, в то время как zswap использует как хранилище, так и ОЗУ и сохраняет сжатые данные в swap-файл на устройстве хранения только в том случае, если для хранения данных недостаточно ОЗУ.
Этот вопрос также задавали в Stackoverflow, поэтому у нас есть более подробный ответ (отредактированный для краткости):
Статус zram : доступно, начиная с Linux 3.14 (март 2014 г.)
Реализация: сжатое блочное устройство, память выделяется динамически по мере хранения данных.
Использование: настройте блочное устройство zram в качестве swap-устройства , чтобы устранить необходимость в физическом swap-устройстве или swap-файле.
Преимущества:
- Устраняет необходимость в физическом swap-устройстве.
- Блочное устройство zram можно использовать для других приложений, отличных от swap, для всего, для чего вы могли бы использовать блочное устройство.
Недостатки:
- Как только страница будет сохранена в zram, она останется там до тех пор, пока не будет выгружена или не станет недействительной. … zram не может вытеснять страницы на физический диск.
zswap
Статус: Доступно с Linux 3.11 (сентябрь 2013 г.)
Реализация: сжатый кеш ядра для swap–страниц. Кэш в ядре сжимается, алгоритм сжатия подключается с помощью CryptoAPI, а хранилище для страниц выделяется динамически. Старые страницы могут быть вытеснены на диск, что делает его своего рода кешем с отложенной записью.
Использование: кэшировать swap–страницы, предназначенные для обычных swap–устройств (или swap-файлов).
Преимущества:
- Интеграция с swap-кодом (с использованием API Frontswap) позволяет zswap выбирать для хранения только те страницы, которые хорошо сжимаются и обрабатывают сбои выделения памяти, в этих случаях страницы отправляются на резервное swap-устройство.
- Самые старые страницы в кэше выталкиваются на резервное swap-устройство, чтобы освободить место для новых страниц.
Недостатки:
- Требуется физическое swap-устройство (или swap-файл).
Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.