К основному контенту

Настройка Zram в Linux

Zram или compcache - экспериментальный модуль ядра Linux позволяющий сжимать содержимое оперативной памяти, и таким образом увеличивать ее объем в несколько раз. Работает это так: zram создает сжатое блочное устройство в ОЗУ которое чаще всего используется как swap или монтируется в tmp. При этом степень сжатия данных получается в среднем 3:1. Это означает что на 1 гигабайт подкачки будет использовано в 333 мегабайт физической памяти. Активация zram

Поскольку это экспериментальный модуль, нужно его включить и пересобрать ядро. Модуль включается здесь:

Device Drivers ---> [*] Block devices ---> Compressed RAM block device support

Когда завершите с ядром нужно установить параметр загрузки ядра zram.num_devices который указывает максимальное количество сжатых устройств. Как добавить параметры ядра в Grub посмотрите в моей статье. Настройка сжатия памяти Zram

Нам необходимо загрузить модуль ядра, создать блочные устройства, и подключить их куда следует. Есть несколько способов сделать это. способ 1 с помощью скрипта

Для настройки и запуска модуля создадим скрипт zram.start и добавим его в автозагрузку. Например если мы хотим создать 4 сжатых устройства размером 1526 мегабайт и подключить их как swap скрипт будет выглядеть так:

!/bin/bash

modprobe zram num_devices=4

SIZE=1536 echo $(($SIZE*1024*1024)) > /sys/block/zram0/disksize echo $(($SIZE*1024*1024)) > /sys/block/zram1/disksize echo $(($SIZE*1024*1024)) > /sys/block/zram2/disksize echo $(($SIZE*1024*1024)) > /sys/block/zram3/disksize

mkswap /dev/zram0 mkswap /dev/zram1 mkswap /dev/zram2 mkswap /dev/zram3

swapon /dev/zram0 -p 10 swapon /dev/zram1 -p 10 swapon /dev/zram2 -p 10 swapon /dev/zram3 -p 10

И соответственно скрипт для отключения - zram.stop:

!/bin/bash

swapoff /dev/zram0 swapoff /dev/zram1 swapoff /dev/zram2 swapoff /dev/zram3

echo 1 > /sys/block/zram0/reset echo 1 > /sys/block/zram1/reset echo 1 > /sys/block/zram2/reset echo 1 > /sys/block/zram3/reset

modprobe -r zram

Автозагрузка скриптов отличается в каждой системе инициализации, в systemd можно написать юнит, в upstart - добавить в rc.local, а в openrc есть директория /etc/local.d/. Ну в общем вы знаете как это делается в вашей системе. Способ 2 без скриптов

В этом примере создадим три устройства, 2 из них подключим в swap, а одно смонтируем в tmp.

Загрузим модуль ядра используя /etc/modprobe.d/:

sudo nano /etc/modprobe.d/zram.conf

options zram num_devices=3

Создадим диски с помощью правил udev:

sudo nano /etc/udev/rules.d/10-zram.rules

KERNEL=="zram0", SUBSYSTEM=="block", DRIVER=="", ACTION=="add", ATTR{disksize}=="0", ATTR{disksize}="512M", RUN+="/sbin/mkswap $env{DEVNAME}" KERNEL=="zram1", SUBSYSTEM=="block", DRIVER=="", ACTION=="add", ATTR{disksize}=="0", ATTR{disksize}="512M", RUN+="/sbin/mkswap $env{DEVNAME}" KERNEL=="zram2", SUBSYSTEM=="block", DRIVER=="", ACTION=="add", ATTR{disksize}=="0", ATTR{disksize}="512M", RUN+="/sbin/mkfs.ext4 $env{DEVNAME}"

Если вы хотите использовать сжатие lz4 и ext4 без журналирования строчка будет выглядеть вот так:

KERNEL=="zram2", SUBSYSTEM=="block", DRIVER=="", ACTION=="add", ATTR{initstate}=="0", ATTR{comp_algorithm}="lz4", ATTR{disksize}="512M", RUN+="/sbin/mkfs.ext4 -O ^has_journal -L $name $env{DEVNAME}"

И наконец подключим их в /etc/fstab:

/dev/zram0 swap swap pri=16383 0 0 /dev/zram1 swap swap pri=16383 0 0 /dev/zram2 /tmp ext4 defaults 0 0

Комментарии


Дистанционная компьтерная помощь, удаленная компьютерная помощь онлайн.

Популярные сообщения из этого блога

Лучшие плагины для OBS Studio

Open Broadcast Software или OBS - это свободное программное обеспечение с открытым исходным кодом для стриминга аудио и видео данных в сеть интернет. Программа полностью кроссплатформенная и может работать в Windows, Linux или MacOS. Это отличная альтернатива для таких программ, как Wirecast и XSplit. OBS использует для вещания стандартный протокол обмена сообщениями в реальном времени, а поэтому может транслировать данные в любой сервис, поддерживающий это, например, Yotube. Несмотря на широкие возможности OBS, программа поддерживает еще и множество плагинов. В этой статье мы рассмотрим лучшие плагины для OBS Studio, которые вы можете использовать. Содержание статьи: Лучшие плагины OBS Studio 1. Browser Source Plugin 2. Video Source Plugin 3. Simple Scene Switcher 4. DirectShow Audio Source 5. CLR Browser Source 6. OBS Remote 7. AMD Advanced Media Framework Encoder 8. Text Source Plugin Выводы Лучшие плагины OBS Studio Чтобы найти плагины OBS Studio для Video пользователям пр…

Лучшие аналоги Paint для Linux

Когда я работал в Windows, я часто использовал стандартную программу редактора изображений Windows - Paint. Не всегда нужен очень и многофункциональный инструмент вроде Photoshop или Gimp. Иногда, чтобы подправить ту или иную картинку, дорисовать на ней несколько фигур или вставить текст достаточно простого, легкого в освоении графического редактора вроде Paint. В Linux таких программ довольно много. В этой инструкции мы рассмотрим лучшие аналоги Paint для Linux. В этот список не будут включены такие программы, как Gimp и Krita, ведь это полнофункциональные графические редакторы, векторные редакторы, такие как Inkscape мы тоже рассматривать не будем. А теперь перейдем к списку. Содержание статьи: KolourPaint MyPaint Gnome Paint XPaint Pinta mtPaint GPaint Rassam-paint Выводы KolourPaint На первом месте в списке аналогов Piant для Linux будет KoloutPaint. Это стандартный графический редактор для окружения рабочего стола KDE. Он поддерживает множество форматов изображений PNG, J…

Подключение OneDrive в Linux

OneDrive (Ранее известный как SkyDrive) это популярное облачное хранилище файлов от Майкрософт. Сейчас OneDrive бесплатно предоставляет 7 гигабайт пространства новым пользователям. Как вы знаете OneDrive хорошо интегрирован с другими продуктами компании  Microsoft. В OneDrive Также есть официальный клиент который автоматически загружает ваши видео и фотографии с камеры в облако. Но к сожалению этот клиент недоступен для операционных систем семейства Linux. Но не все так плохо. Сообщество открытого программного обеспечения уже нашло решение. Это opedrive-d от Boilermaker. Запустившись как демон программа автоматически синхронизирует локальную папку с облаком OneDrive. Содержание статьи: Установка Onedrive-d в Linux Настройка Синхронизация локальной папки с OneDrive Установка Onedrive-d в Linux Несмотря на то что onedrive-d разрабатывается для Ubuntu/Debian, CentOs/Fedora/RHEL поддерживается тоже хорошо. Для установки достаточно набрать несколько команд: $ git clone https://gith…