Налаштування zram в linux

Zram або compcache - експериментальний модуль ядра Linux дозволяє стискати вміст оперативної пам`яті, і таким чином збільшувати її обсяг в кілька разів. Працює це так: zram створює стислий блоковий пристрій в ОЗУ яке найчастіше використовується як swap або монтується в tmp. При цьому ступінь стиснення даних виходить в середньому 3: 1. Це означає що на 1 гігабайт підкачки буде використано в 333 мегабайт фізичної пам`яті.

Відео: Базова настройка Ubuntu

Активація zram

Оскільки це експериментальний модуль, потрібно його включити і пересобрать ядро. Модуль включається тут:


  • 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)) gt; / Sys / block / zram0 / disksize
    echo $ (($ SIZE * 1024 * 1024)) gt; / Sys / block / zram1 / disksize
    echo $ (($ SIZE * 1024 * 1024)) gt; / Sys / block / zram2 / disksize
    echo $ (($ SIZE * 1024 * 1024)) gt; / Sys / block / zram3 / disksize




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

    Відео: Налаштування розділу підкачки (SWAP) в Ubuntu

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

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

    $ Sudo nano /etc/modprobe.d/zram.conf$ sudo nano /etc/udev/rules.d/10-zram.rules
    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 / zram1 swap swap pri = "16383" 0 0
    / Dev / zram2 / tmp ext4 defaults 0 0>
    Поділися в соціальних мережах:

    Схожі
  • Розробка ядра linuxРозробка ядра linux
    Драйвери пристроїв для linux, 3-е виданняДрайвери пристроїв для linux, 3-е видання
    Віртуальна флешка в linuxВіртуальна флешка в linux
    Як прискорити linuxЯк прискорити linux
    Прискорення chromium в linuxПрискорення chromium в linux
    Як оновити ядро ​​до 4.1 в ubuntuЯк оновити ядро ​​до 4.1 в ubuntu
    Що таке ядро ​​linuxЩо таке ядро ​​linux
    Оновлення драйверів ubuntuОновлення драйверів ubuntu
    Оновлення ядра centos 7Оновлення ядра centos 7
    Стиснення jpeg в linuxСтиснення jpeg в linux
    » » Налаштування zram в linux