Форум по операционной системе GNU/Linux и свободному программному обеспечению
Текущее время: 19 мар 2019, 04:41

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
Непрочитанное сообщениеДобавлено: 10 апр 2015, 12:42 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11633
Откуда: Харьков
Вот такая смешная экзотика: модуль ядра zRam :-o

В свое время zRam был разработан в виде экспериментального модуля ядра Linux и поддерживался версиями ядра, начиная с 2.6.37.
А вот уже с версии 3.13 zRam есть по умолчанию. Благодаря zRam можно очень эффективно увеличить скорость работы на маломощных ПК, имеющих маленькие объемы оперативной памяти. Этот вариант прекрасно подойдет для нетбуков, имеющих всего 2Гб ОЗУ.
(так пишут, но я думаю, что эта фича имеет смысл на старых компьютерах с RAM <1Gb)

В случае использования zRam, swap будет находиться в специальном сжатом разделе оперативной памяти. А поскольку скорость обмена информацией с ОЗУ намного выше, чем с другими видами памяти, данное решение в разы может улучшить быстродействие системы. У кого очень маленький объем ОЗУ, для жесткого диска лучше использовать zRam, поскольку жесткий диск не предназначен для столь частого перезаписывания информации.

Устанавливается модуль прямо из репозитариев:
Код:
$ sudo apt-get install -y zram-config


Настраивать ничего не нужно, zRam самостоятельно определяет размеры swap. Узнать об использовании памяти в системе и о разделах zRAM командой:
$ free -m


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
Непрочитанное сообщениеДобавлено: 04 июн 2016, 08:24 
Не в сети
Писатель

Зарегистрирован: 21 фев 2012, 19:50
Сообщения: 45
Откуда: Новокузнецк
Давно использую, и на буке с Manjaro, и на основном компе со слакой.
Для Arch
Для Slackware


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
Непрочитанное сообщениеДобавлено: 14 мар 2019, 12:22 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11633
Откуда: Харьков
Хорошее внятное описание механизмов свопирования в память, включённых в ядро Linux:
Zram и Zswap или как увеличить эффективность оперативной памяти
Цитата:
ВТОРНИК, 15 ДЕКАБРЯ 2015 Г.

Цитата:
ZRAM - модуль ядра Linux, ранее известный как compcache. До версии ядра 3.14 находился в эксперементальной ветке, с 3.14 перемещён в основную. Суть его в том, что в оперативной памяти создаётся сжатый раздел подкачки (swap). Создавая swap в ОЗУ, мы тем самым хоть и уменьшаем объем доступной оперативной памяти, но тем не менее информация в оперативной памяти всегда хранится в несжатом виде, а при использовании ZRAM происходит следующее: как только системе начинает не хватать оперативной памяти, она начинает активно занимать swap, а так как swap у нас в оперативной-же памяти, то по факту система начинает просто сжимать информацию из оперативки и помещать ее в оперативку же. Скорость работы ОЗУ всегда существенно выше чем дисковой подсистемы, а алгоритмы сжатия lzo и lz4 настолько быстры, что в итоге мы получаем существенное "увеличение" оперативной памяти за счет небольших процессорных издержек на архивацию. Таким образом, ZRAM позволяет разместить в оперативной памяти в несколько раз больше информации за счёт сжатия. Эта технология активно используется в Android, ТВ-приставках, ChromeOS, SteamOS и много где ещё. При использовании ZRAM, swap-раздел на диске необязателен. Это особенно полезно для SSD-накопителей, так как частые записи для них вредны.

Цитата:
ZSWAP - модуль ядра Linux, доступный с версии 3.11. Отличается от ZRAM тем, что использует существующий swap-раздел на диске, а в ОЗУ создаётся пул со сжатыми данными (кэшем). После того как пул до отказа забьётся сжатыми данными, он сбросит их в раздел подкачки и снова начнёт принимать и сжимать данные. Размер пула можно указать вручную, по умолчанию он динамический (то есть будет использовать всю доступную оперативку). Реализация такого подхода позволяет, при возникновении необходимости сброса памяти в раздел подкачки, сократить ввод-вывод и повысить скорость работы системы в целом, за счет того, что по возможности избегается использование медленного носителя. Ценой сокращения ввода/вывода является увеличение нагрузки на процессор, который тратит дополнительные ресурсы на сжатие и распаковку данных. По утверждению разработчиков, в их конфигурации при компиляции ядра в ситуации когда происходит своппинг, выигрыш по объему ввода/вывода составил 76%, а время выполнения операции сократилось на 53%. При использовании ZSWAP, используется раздел swap на диске, в ОЗУ хранится только сжатый кэш. Можно считать ZSWAP продвинутым вариантом ZRAM.

Цитата:
Zram или Zswap?
Чтобы узнать что из этого лучше подойдёт вам, возьмём два примера: ноутбук с 4 гигами оперативки и медленным жёстким диском (представьте себе работу подкачки на таком) или с SSD-накопителем; компьютер с 8 гигами оперативки, на котором планируется запускать много виртуальных машин и других ресурсоёмких приложений. В первом случае, более подходящим будет ZRAM, так как ему не нужен swap-раздел на диске (это особенно вредно для SSD) и он позволит размещать все данные непосредственно в памяти. Однако раздел swap нужно обязательно создать если вы будете использовать на ноутбуке режим сна. На компьютере предпочтительнее будет ZSWAP, так как оперативка не будет занята виртуальными swap-файлами (а виртуалкам нужно много оперативки), а в оперативке будет хранится только сжатый кэш, что при нехватке памяти предотвратит своппинг, а в критической ситуации - быстренько скинет его на swap-раздел на диске.


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
Непрочитанное сообщениеДобавлено: 14 мар 2019, 12:37 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11633
Откуда: Харьков
Olej писал(а):
Хорошее внятное описание механизмов свопирования в память, включённых в ядро Linux:
Zram и Zswap или как увеличить эффективность оперативной памяти

Код:
olej@ACER:~$ lsb_release -a
No LSB modules are available.
Distributor ID:   Debian
Description:   Debian GNU/Linux buster/sid
Release:   testing
Codename:   buster

Код:
olej@ACER:~$ apt search zram
Сортировка… Готово
Полнотекстовый поиск… Готово
libblockdev-kbd2/testing 2.20-6 amd64
  kernel block device plugin for libblockdev

udisks2-zram/testing 2.8.1-4 amd64
  zram support for udisks2

zram-tools/testing 0.3.2.1-1 all
  utilities for working with zram

Код:
olej@ACER:~$ aptitude show udisks2-zram
Пакет: udisks2-zram                             
Версия: 2.8.1-4
Состояние: не установлен
Мультиархитектура: сторонняя
Приоритет: необязательный
Раздел: admin
Сопровождающий: Utopia Maintenance Team <pkg-utopia-maintainers@lists.alioth.debian.org>
Архитектура: amd64
Размер в распакованном виде: 112 k
Зависит: udisks2 (= 2.8.1-4), libblockdev-kbd2, libblockdev-swap2, libblockdev2 (>= 2.19), libc6 (>= 2.4), libglib2.0-0 (>= 2.50), libgudev-1.0-0 (>= 165),
         libpolkit-gobject-1-0 (>= 0.94)
Описание: zram support for udisks2
 The udisks daemon serves as an interface to system block devices, implemented via D-Bus. It handles operations such as querying, mounting, unmounting, formatting, or
 detaching storage devices such as hard disks or USB thumb drives.
 
 This package provides support for zram configuration.
Домашняя страница: https://www.freedesktop.org/wiki/Software/udisks

Код:
olej@ACER:~$ aptitude show zram-tools
Пакет: zram-tools                               
Версия: 0.3.2.1-1
Состояние: не установлен
Приоритет: необязательный
Раздел: utils
Сопровождающий: Jonathan Carter <jcc@debian.org>
Архитектура: all
Размер в распакованном виде: 28,7 k
Зависит: bc
Описание: utilities for working with zram
 zram is a Linux kernel module that allows you to set up compressed filesystems in RAM.
 
 zram-tools uses this module to set up compressed swap space. This is useful on systems with low memory or servers running a large amount of services with data that's easily
 swappable but that you may wish to swap back fast without sacrificing disk bandwidth.
 
 By default it allocates 100MB of RAM, you can configure this in /etc/default/zramswap.
Домашняя страница: https://github.com/highvoltage/zram-tools


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
Непрочитанное сообщениеДобавлено: 14 мар 2019, 12:39 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11633
Откуда: Харьков
Olej писал(а):
Хорошее внятное описание механизмов свопирования в память, включённых в ядро Linux:
Zram и Zswap или как увеличить эффективность оперативной памяти

Цитата:
Теперь о ZSWAP. Здесь всё значительно проще. Нужно лишь передать ядру во время загрузки, параметр zswap.enabled=1. Для этого открываем файл /etc/default/grub

sudo nano /etc/default/grub

И в строку GRUB_CMDLINE_LINUX_DEFAULT дописываем этот параметр. Чтобы было вот так:

GRUB_CMDLINE_LINUX_DEFAULT="zswap.enabled=1 quiet"

Далее:

sudo update-grub

и перезагрузка. После перезагрузки, можете убедиться в работе ZSWAP, введя команду dmesg | grep zswap Если ответом будет

[ 1.273249] zswap: loading zswap
[ 1.273252] zswap: using lzo compressor

значит всё сработало на отлично. Способ включения ZSWAP одинаков для большинства дистрибутивов. Если нужно ограничить объём пула для ZSWAP, то там же в параметрах указываем:

zswap.max_pool_percent=x

где x - процент отведённой памяти под ZSWAP.

Вот так мы быстро и без лишних телодвижений, увеличили эффективность оперативной памяти, лишь незначительно увеличив нагрузку на процессор.


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
Непрочитанное сообщениеДобавлено: 14 мар 2019, 12:50 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11633
Откуда: Харьков
Код:
olej@ACER:~$ aptitude search zswap*                 
olej@ACER:~$   

Потому что там ничего не надо использовать!
Детальное обсуждение ZSWAP на форуме Debian: Включение и использование ZSWAP
Код:
olej@ACER:~/2019_WORK/HISTORY/03/13$ cat /boot/config-`uname -r` | grep -i zswap
CONFIG_ZSWAP=y

Цитата:
начиная с 4-го ядра zbud или zsmalloc, необходимые для zswap, собранны в виде модуля, поэтому сначала смотрим, что у нас есть:

Код:
olej@ACER:~/2019_WORK/HISTORY/03/13$ cat /boot/config-`uname -r` | grep -i zbud
CONFIG_ZBUD=y

olej@ACER:~/2019_WORK/HISTORY/03/13$ cat /boot/config-`uname -r` | grep -i zsmalloc
CONFIG_ZSMALLOC=m
# CONFIG_ZSMALLOC_STAT is not set


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
[ Time : 0.208s | 18 Queries | GZIP : On ]