суббота, 22 августа 2015 г.

Linux: swap в оперативной памяти


Модуль ядра zRam в системах семейства Linux создает виртуальное блочное устройство, что-то вроде жёсткого диска, который размещается в оперативной памяти. Этот модуль широко используется в большинстве устройств Android и SteamOS. С созданным им виртуальным блочным устройством можно делать что угодно, форматировать, монтировать и так далее. Вот только в отличие от других виртуальных блочных устройств, все данные на ходу сжимаются при записи, а при чтении разжимаются. Причём, по оценкам некоторых пользователей, степень сжатия достигает до 8 раз (вероятно, реальная цифра, всё-таки, будет меньше).

В Ubuntu и Linux Mint установка производится одной командой в терминале:

    sudo apt-get install zram-config  

Перезагрузки системы не требуется. Место в оперативной памяти сразу резервируется. Swap помещается в неё в сжатом виде. То есть, это похоже на заметное увеличение виртуальной памяти. Да, это чуть медленнее, если действительно доставить планку оперативной памяти, но, как правило, заметно быстрее, чем swap на жёстком диске.

Как это выглядит на примере (в системе swap отсутствует вообще): 


Кликните по изображению, чтобы рассмотреть цифры

А теперь включим файл подкачки размером 1 Гб, созданный по инструкции в этой заметке:


Кликните по изображению, чтобы рассмотреть цифры

Подведём краткое резюме. zRam увеличивает производительность путём предотвращения подкачки страниц на диск, используя сжатое блочное устройство в оперативной памяти, пока не появится необходимость использовать файл (раздел) подкачки (swap) на жёстком диске. Скорость обмена с оперативной памятью быстрее, чем с жёстким диском, следовательно – zRam позволяет Linux производить большее число операций подкачки.


Комментариев нет:

Отправить комментарий