своп в оперативную память - модуль zRam | zSwap

Вопросы программного кода и архитектуры Linux

Модератор: Olej

Аватара пользователя
Olej
Писатель
Сообщения: 14939
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: своп в оперативную память - модуль zRam | zSwap

Непрочитанное сообщение Olej » 23 дек 2020, 23:36

Olej писал(а):
14 мар 2019, 12:50

Код: Выделить всё

olej@ACER:~$ aptitude search zswap*                  
olej@ACER:~$
В RPM, Fedora 32, как всегда не без задрочек! :-o

Код: Выделить всё

[olej@xenix Zoom]$ dnf search zram*
Ожидание завершения процесса с PID 133250.
Последняя проверка окончания срока действия метаданных: 0:00:04 назад, Ср 23 дек 2020 22:21:38.
========================================================= Имя и Краткое описание совпадение: zram* ==========================================================
zram.noarch : ZRAM for swap config and services for Fedora
=================================================================== Имя совпадение: zram* ===================================================================
zram-generator.x86_64 : Systemd unit generator for zram swap devices
zram-generator-defaults.noarch : Default configuration for zram-generator

Код: Выделить всё

[olej@xenix Zoom]$ sudo dnf install zram zram-generator zram-generator-defaults
Последняя проверка окончания срока действия метаданных: 1:37:04 назад, Ср 23 дек 2020 20:46:26.
Зависимости разрешены.
=============================================================================================================================================================
 Пакет                                           Архитектура                    Версия                                 Репозиторий                     Размер
=============================================================================================================================================================
Установка:
 zram                                            noarch                         0.4-1.fc32                             fedora                           15 k
 zram-generator-defaults                         noarch                         0.2.0-1.fc32                           updates                         8.2 k
Установка зависимостей:
 zram-generator                                  x86_64                         0.2.0-1.fc32                           updates                         372 k

Результат транзакции
=============================================================================================================================================================
Установка  3 Пакета

Объем загрузки: 395 k
Объем изменений: 916 k
Продолжить? [д/Н]: y
Загрузка пакетов:
(1/3): zram-0.4-1.fc32.noarch.rpm                                                                                             78 kB/s |  15 kB     00:00    
(2/3): zram-generator-defaults-0.2.0-1.fc32.noarch.rpm                                                                        33 kB/s | 8.2 kB     00:00    
(3/3): zram-generator-0.2.0-1.fc32.x86_64.rpm                                                                                1.2 MB/s | 372 kB     00:00    
-------------------------------------------------------------------------------------------------------------------------------------------------------------
Общий размер                                                                                                                 370 kB/s | 395 kB     00:01     
Проверка транзакции
Проверка транзакции успешно завершена.
Идет проверка транзакции
Тест транзакции проведен успешно
Выполнение транзакции
  Подготовка       :                                                                                                                                     1/1 
  Установка        : zram-generator-0.2.0-1.fc32.x86_64                                                                                                  1/3 
  Установка        : zram-generator-defaults-0.2.0-1.fc32.noarch                                                                                         2/3 
  Установка        : zram-0.4-1.fc32.noarch                                                                                                              3/3 
  Запуск скриптлета: zram-0.4-1.fc32.noarch                                                                                                              3/3 
  Проверка         : zram-generator-0.2.0-1.fc32.x86_64                                                                                                  1/3 
  Проверка         : zram-generator-defaults-0.2.0-1.fc32.noarch                                                                                         2/3 
  Проверка         : zram-0.4-1.fc32.noarch                                                                                                              3/3 

Установлен:
  zram-0.4-1.fc32.noarch                   zram-generator-0.2.0-1.fc32.x86_64                   zram-generator-defaults-0.2.0-1.fc32.noarch                  

Выполнено!
Но этого ему мало:

Код: Выделить всё

[olej@xenix backup]$ swapon -s
Имя файла                               Тип             Размер  Исп-но  Приоритет
/mnt/timeshift/backup/swapfile          file            5119996 0       -2
Запускаю через systemd:

Код: Выделить всё

[olej@xenix system]$ systemctl status zram 
● zram.service - Service enabling compressing RAM with zRam
     Loaded: loaded (/usr/lib/systemd/system/zram.service; static; vendor preset: disabled)
     Active: inactive (dead)

Код: Выделить всё

[olej@xenix system]$ systemctl status zram 
● zram.service - Service enabling compressing RAM with zRam
     Loaded: loaded (/usr/lib/systemd/system/zram.service; static; vendor preset: disabled)
     Active: active (exited) since Wed 2020-12-23 22:26:05 EET; 2s ago
    Process: 134958 ExecStart=/usr/libexec/anaconda/zramswapon (code=exited, status=0/SUCCESS)
   Main PID: 134958 (code=exited, status=0/SUCCESS)

дек 23 22:26:05 xenix.localdomain systemd[1]: Starting Service enabling compressing RAM with zRam...
дек 23 22:26:05 xenix.localdomain zramswapon[134958]: + MAX_RAM_ON=2097152
дек 23 22:26:05 xenix.localdomain zramswapon[134961]: ++ grep MemTotal /proc/meminfo
дек 23 22:26:05 xenix.localdomain zramswapon[134962]: ++ grep -E --only-matching '[[:digit:]]+'
дек 23 22:26:05 xenix.localdomain zramswapon[134958]: + mem_total_kb=8109784
дек 23 22:26:05 xenix.localdomain zramswapon[134958]: + grep -E 'inst\.zram=(on|1)' /proc/cmdline
дек 23 22:26:05 xenix.localdomain zramswapon[134958]: + force=1
дек 23 22:26:05 xenix.localdomain zramswapon[134958]: + '[' '(' 8109784 -gt 2097152 ')' -a '(' 1 '!=' 0 ')' ']'
дек 23 22:26:05 xenix.localdomain zramswapon[134958]: + exit 0
дек 23 22:26:05 xenix.localdomain systemd[1]: Finished Service enabling compressing RAM with zRam.

Код: Выделить всё

[olej@xenix system]$ swapon -s
Имя файла                               Тип             Размер  Исп-но  Приоритет
/mnt/timeshift/backup/swapfile          file            5119996 0       -2
/dev/zram0                              partition       4054012 0       100

[olej@xenix backup]$ free
              total        used        free      shared  buff/cache   available
Mem:        8109784     2746924      518008      781308     4844852     4256872
Swap:       9174008           0     9174008
Но тут начинаются опять задрочки с автостартом:

Код: Выделить всё

[olej@xenix system]$ sudo systemctl enable zram 
The unit files have no installation config (WantedBy=, RequiredBy=, Also=,
Alias= settings in the [Install] section, and DefaultInstance= for template
units). This means they are not meant to be enabled using systemctl.
 
Possible reasons for having this kind of units are:
• A unit may be statically enabled by being symlinked from another unit's
  .wants/ or .requires/ directory.
• A unit's purpose may be to act as a helper for some other unit which has
  a requirement dependency on it.
• A unit may be started when needed via activation (socket, path, timer,
  D-Bus, udev, scripted systemctl call, ...).
• In case of template units, the unit is meant to be enabled with some
  instance name specified.
... с которыми бодаться у меня уже нет сил (на сегодня?)

Аватара пользователя
Olej
Писатель
Сообщения: 14939
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: своп в оперативную память - модуль zRam | zSwap

Непрочитанное сообщение Olej » 08 май 2021, 11:01

Меня удивляет (непонятно пока) картина конфигурации zramкогда он стартует на сервере DELL PowerEdge R420, где 2 процессора по 6 ядер и по 2 гипертреда на ядро (24 процессоров) и вдоволь (96Gb) RAM ... Вот он так раскидывает swap-диски между процессорами - и по размеру и по приоритетам! :

Код: Выделить всё

root@R420:/etc# swapon
NAME        TYPE       SIZE USED PRIO
/swapfile   file         2G   0B   -2
/dev/zram0  partition 10,7M   0B    5
/dev/zram1  partition 10,7M   0B    5
/dev/zram2  partition 10,7M   0B  100
/dev/zram3  partition    2G   0B  100
/dev/zram4  partition    2G   0B  100
/dev/zram5  partition    2G   0B    5
/dev/zram6  partition 10,7M   0B    5
/dev/zram7  partition 10,7M   0B  100
/dev/zram8  partition    2G   0B    5
/dev/zram9  partition 10,7M   0B  100
/dev/zram10 partition    2G   0B    5
/dev/zram11 partition 10,7M   0B  100
/dev/zram12 partition    2G   0B    5
/dev/zram13 partition 10,7M   0B  100
/dev/zram14 partition    2G   0B  100
/dev/zram15 partition    2G   0B    5
/dev/zram16 partition 10,7M   0B  100
/dev/zram17 partition    2G   0B    5
/dev/zram18 partition 10,7M   0B  100
/dev/zram19 partition    2G   0B  100
/dev/zram20 partition    2G   0B    5
/dev/zram21 partition 10,7M   0B  100
/dev/zram22 partition    2G   0B    5
/dev/zram23 partition 10,7M   0B  100

Аватара пользователя
Olej
Писатель
Сообщения: 14939
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: своп в оперативную память - модуль zRam | zSwap

Непрочитанное сообщение Olej » 26 июн 2021, 21:24

Olej писал(а):
08 май 2021, 11:01
Вот он так раскидывает swap-диски между процессорами - и по размеру и по приоритетам! :
А после замены физических процессоров (2-х) ощим числом с 24 на 40 в качестве swap используются только часть из них, 26 (0 ... 25)

Код: Выделить всё

olej@R420:~$ nproc
40

Что бы это значило?:

Код: Выделить всё

olej@R420:~$ zramctl
NAME        ALGORITHM DISKSIZE DATA COMPR TOTAL STREAMS MOUNTPOINT
/dev/zram24 lzo-rle       100M   4K   73B   12K      40 [SWAP]
/dev/zram39 lzo-rle       1,2G   4K   74B   12K      40 
/dev/zram38 lzo-rle       1,2G   4K   74B   12K      40 
/dev/zram37 lzo-rle       6,4M   4K   73B   12K      40 
/dev/zram36 lzo-rle       6,4M   4K   73B   12K      40 
/dev/zram35 lzo-rle       1,2G   4K   74B   12K      40 
/dev/zram34 lzo-rle       6,4M   4K   73B   12K      40 
/dev/zram33 lzo-rle       1,2G   4K   74B   12K      40 
/dev/zram32 lzo-rle       1,2G   4K   74B   12K      40 
/dev/zram31 lzo-rle       6,4M   4K   73B   12K      40 
/dev/zram30 lzo-rle       1,2G   4K   74B   12K      40 
/dev/zram29 lzo-rle       6,4M   4K   73B   12K      40 
/dev/zram28 lzo-rle       6,4M   4K   73B   12K      40 
/dev/zram27 lzo-rle       1,2G   4K   74B   12K      40 
/dev/zram26 lzo-rle       1,2G   4K   74B   12K      40 
/dev/zram25 lzo-rle       6,4M   4K   73B   12K      40 [SWAP]
/dev/zram23 lzo-rle       1,2G   4K   74B   12K      40 [SWAP]
/dev/zram22 lzo-rle       6,4M   4K   73B   12K      40 [SWAP]
/dev/zram21 lzo-rle       1,2G   4K   74B   12K      40 [SWAP]
/dev/zram20 lzo-rle       6,4M   4K   73B   12K      40 [SWAP]
/dev/zram19 lzo-rle       1,2G   4K   74B   12K      40 [SWAP]
/dev/zram18 lzo-rle       6,4M   4K   73B   12K      40 [SWAP]
/dev/zram17 lzo-rle       1,2G   4K   74B   12K      40 [SWAP]
/dev/zram16 lzo-rle       6,4M   4K   73B   12K      40 [SWAP]
/dev/zram15 lzo-rle       1,2G   4K   74B   12K      40 [SWAP]
/dev/zram14 lzo-rle       6,4M   4K   73B   12K      40 [SWAP]
/dev/zram13 lzo-rle       1,2G   4K   74B   12K      40 [SWAP]
/dev/zram12 lzo-rle       6,4M   4K   73B   12K      40 [SWAP]
/dev/zram11 lzo-rle       1,2G   4K   74B   12K      40 [SWAP]
/dev/zram10 lzo-rle       6,4M   4K   73B   12K      40 [SWAP]
/dev/zram9  lzo-rle       1,2G   4K   74B   12K      40 [SWAP]
/dev/zram8  lzo-rle       6,4M   4K   73B   12K      40 [SWAP]
/dev/zram7  lzo-rle       6,4M   4K   73B   12K      40 [SWAP]
/dev/zram6  lzo-rle       6,4M   4K   73B   12K      40 [SWAP]
/dev/zram5  lzo-rle       1,2G   4K   74B   12K      40 [SWAP]
/dev/zram4  lzo-rle       1,2G   4K   74B   12K      40 [SWAP]
/dev/zram3  lzo-rle       6,4M   4K   73B   12K      40 [SWAP]
/dev/zram2  lzo-rle       1,2G   4K   74B   12K      40 [SWAP]
/dev/zram1  lzo-rle       1,2G   4K   73B   12K      40 [SWAP]
/dev/zram0  lzo-rle       6,4M   4K   73B   12K      40 [SWAP]
Это лимит swap устройств?
Это конфигурируемое число?

Ответить

Вернуться в «Linux изнутри»

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

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