Включаем технологию zswap на Debian jessie

Включаем технологию zswap на Debian jessie

Смысл технологии zswap сводится к тому, что при необходимости выгрузки страниц памяти на диск производится попытка сжать страницы, размещая их при этом в пуле в оперативной памяти. По мере возможности сжатые страницы не выгружаются на диск чтобы избежать операций ввода/вывода с медленным носителем.

Реализация такого подхода позволяет, при возникновении необходимости сброса памяти в раздел подкачки, сократить ввод-вывод и повысить скорость работы системы в целом, за счет того, что по возможности избегается использование медленного носителя. Ценой сокращения ввода/вывода является увеличение нагрузки на процессор, который тратит дополнительные ресурсы на сжатие и распаковку данных. По утверждению разработчиков, в их конфигурации при компиляции ядра в ситуации когда происходит своппинг, выигрыш по объему ввода/вывода составил 76%, а время выполнения операции сократилось на 53%.

Примечание: не следует путать zswap с похожей по смыслу технологией zRAM (ранее compcache), при которой в памяти создается блочное устройство на которое производится своппинг со сжатием.

Проверка поддержки технологии zswap в ядре

cat /boot/config-`uname -r` | grep -i zswap

Если получаем вывод CONFIG_ZSWAP=y то все ОК можем юзать.

Включаем zswap

Для того что бы включить zswap необходимо в параметрах запуска ядра прописать:

  1. zswap.enabled=1
  2. zswap.compressor=lzo либо zswap.compressor=deflate либо zswap.compressor=lz4
  3. zswap.max_pool_percent=15 (15 говорят оптимально)

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

  1. zswap.max_pool_percent=x

Эти параметры необходимо передать в загрузчик будем рассматривать GRUB2 (GRUB — загрузчик системы):

Открываем файл /etc/default/grub

В параметр GRUB_CMDLINE_LINUX_DEFAULT прописываем:

GRUB_CMDLINE_LINUX_DEFAULT = "zswap.enabled=1 zswap.compressor=lz4 zswap.max_pool_percent=15"

GRUB_CMDLINE_LINUX_DEFAULT — уже может содержать некое значение типа "splash" тогда наши параметры дописываем через пробел. Например:

GRUB_CMDLINE_LINUX_DEFAULT = "splash zswap.enabled=1 zswap.compressor=lz4 zswap.max_pool_percent=15"

Далее необходимо обновить конфигурацию загрузчика:

update-grub

Ну, либо, что тоже самое:

update-grub2

Затем нужно добавить модули lz4 и lz4_compress в initramfs (Оптимизация initramfs в Debian):

 

echo lz4 >> /etc/initramfs-tools/modules

echo lz4_compress >> /etc/initramfs-tools/modules

Далее необходимо обновить образ initramfs (по сути файл /boot/initrd.img-*):

update-initramfs -u

Затем перезагружаем систему и после загрузки проверяем:

dmesg | grep -i zswap

Вывод должен получится такой:

 

[    0.782491] zswap: loading zswap

[    0.784771] zswap: using lz4 compressor

 

Возможно Вас заинтересуют эти материалы

Debian: Как включать и выключать модули php5

Не часто требуется, но иногда нужно включить, или отключить тот, или иной модуль PHP5. Хороший

mysql доступ по сети

Если требуется обеспечить к mysql доступ по сети, то необходимо сделать несколько вещей: Изменение настроек

NO_PUBKEY или публичный ключ репозитория

Недавно решил установить на свой linux Debian Jessie новый Mozilla Firefox добавил новый репозиторий, и