zswap-cli

О проекте

ZSwap-Cli (command-line tool to control zswap options) — это клиент командной строки, предназначенный для работы с параметрами модуля ядра zswap как в интерактивном режиме, так и при помощи сервиса systemd.

Лицензия: MIT.

Распространение

Загрузить последнюю версию скрипта в исходных кодах, вы всегда можете на странице проекта на GitHub, в разделе Релизы, либо на общей странице загрузок.

Требования к системе

Для работы проекта необходима современная версия ядра Linux, собранная с поддержкой модуля zswap.

Установка и использование

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

Параметры командной строки

Приложение zswap-cli поддерживает следующие параметры командной строки:

  • -h или —help — вывести краткую справочную информацию;
  • —config — получить параметры из указанного файла конфигурации;
  • —env — получить параметры из переменных окружения;
  • —stats X— вывести статистику использования модуля, где X:
    • 0 (будет использоваться если не указано явно) — вывести всю полезную информацию: текущие настройки, статистику использования, а также отладочную информацию;
    • 1 — вывести только настройки модуля;
    • 2 — вывести только статистику использования;
    • 3 — вывести только отладочную информацию;
  • -e или —enabled — включить (Y) или отключить (N) модуль zswap;
  • -s или —same_filled_pages_enabled — включить (Y) или отключить (N) дедупликацию страниц памяти, помещаемых в раздел/файл подкачки;
  • -p или —max_pool_percent — задаёт максимальный размер пула, который может быть создан и использован модулем (целое в диапазоне от 1 до 100);
  • -c или —compressor — позволяет изменить алгоритм сжатия;
  • -z или —zpool — выбор варианта zpool ядра Linux;
  • -a или —accept_threhsold_percent — задаёт предел переполнения пула zswap (целое в диапазоне от 1 до 100);
  • -n или —non_same_filled_pages_enabled — включить (Y) или отключить (N) обработку страниц, заполненных неодинаковыми значениями;
  • -x или —exclusive_loads — включить (Y) или отключить (N) аннулирование элементов при выгрузке страниц из пула;
  • -r или —shrinker_enabled — включить (Y) или отключить (N) усечение пула при нехватке свободной оперативной памяти.

Переменные окружения

Приложение zswap-cli поддерживает получение параметров при помощи переменных окружения:

  • ZSWAP_ENABLED_VALUE — включить (Y) или отключить (N) модуль zswap;
  • ZSWAP_SAME_FILLED_PAGES_ENABLED_VALUE — включить (Y) или отключить (N) дедупликацию страниц памяти, помещаемых в раздел/файл подкачки;
  • ZSWAP_MAX_POOL_PERCENT_VALUE — задаёт максимальный размер пула, который может быть создан и использован модулем (целое в диапазоне от 1 до 100);
  • ZSWAP_COMPRESSOR_VALUE — позволяет изменить алгоритм сжатия;
  • ZSWAP_ZPOOL_VALUE — выбор варианта zpool ядра Linux;
  • ZSWAP_ACCEPT_THREHSOLD_PERCENT_VALUE — задаёт предел переполнения пула zswap (целое в диапазоне от 1 до 100).
  • ZSWAP_NON_SAME_FILLED_PAGES_ENABLED_VALUE — включить (Y) или отключить (N) обработку страниц, заполненных неодинаковыми значениями;
  • ZSWAP_EXCLUSIVE_LOADS_VALUE — включить (Y) или отключить (N) аннулирование элементов при выгрузке страниц из пула
  • ZSWAP_SHRINKER_ENABLED_VALUE — включить (Y) или отключить (N) усечение пула при нехватке свободной оперативной памяти.

Работа при помощи systemd

Внесём изменения в главный файл конфигурации zswap-cli:

sudoedit /etc/zswap-cli.conf

Активируем и запустим сервис systemd:

sudo systemctl enable --now zswap-cli.service

Изменения вступят в силу немедленно. Перезагрузка не требуется.