Дистрибутивы проекта PuppyRus Linux > PuppyRus-A [PRA]

zram (RAM-диск со сжатием данных), zswap (уменьшить количество обращений к SWAP)

<< < (26/27) > >>

sfs:

--- Цитата: krasnyh от 08 Январь 2022, 20:39:03 ---в uird по умолчанию включен zswap
--- Конец цитаты ---
Посмотрел конфиги ядра арча 
В арче тоже включен по дефолту
В магее выкл. В портеус и пупи zswap вообще нет в ядре

Вот вы опять запутались. Теперь понимаете , почему не упирался что-то добавлять про всключение zswap в исо. Не для широких масс такие тонкие настройки

Кстати у нас в вики вообще не было про зрам. Добавил ссылку. Может там изложить подробнее? Есть идеи?

sfs:
В 6.2 ядре появилась интересная фича recompression

--- [ Читать далее ] ---
+рекомпрессия
+-------------
+
+С помощью CONFIG_ZRAM_MULTI_COMP zram может повторно сжимать страницы, используя альтернативные алгоритмы сжатия.
+(вторичных) алгоритмов сжатия. Основная идея заключается в том, что альтернативный
+алгоритм сжатия может обеспечить лучшую степень сжатия ценой
+(потенциально) более низкой скорости сжатия/декомпрессии. Альтернативный алгоритм сжатия
+алгоритм может, например, более успешно сжимать огромные страницы (те.
+которые алгоритм по умолчанию не смог сжать). Другим применением являются простаивающие страницы
+рекомпрессия - страницы, которые остыли и сидят в памяти, могут быть повторно сжаты
+используя более эффективный алгоритм и, следовательно, уменьшить использование памяти zsmalloc.
+
+С помощью CONFIG_ZRAM_MULTI_COMP, zram поддерживает до 4 алгоритмов сжатия:
+один первичный и до 3 вторичных. Первичный компрессор zram объясняется
+в разделе "3) Выбор алгоритма сжатия", вторичные алгоритмы настраиваются
+используя атрибут устройства recomp_algorithm.
+
+Пример::
+
+ #показать поддерживаемые алгоритмы рекомпрессии
+ cat /sys/block/zramX/recomp_algorithm
+ #1: lzo lzo-rle lz4 lz4hc [zstd]
+ #2: lzo lzo-rle lz4 [lz4hc] zstd
+
+Альтернативные алгоритмы сжатия сортируются по приоритету. В примере
+выше, zstd используется как первый альтернативный алгоритм, который имеет приоритет
+1, а lz4hc настроен как алгоритм сжатия с приоритетом 2.
+Приоритет альтернативного алгоритма сжатия задается во время алгоритмов
+конфигурации:::
+
+ #выбрать алгоритм рекомпрессии zstd, приоритет 1
+ echo "algo=zstd priority=1" > /sys/block/zramX/recomp_algorithm
+
+ #выбрать алгоритм рекомпрессии deflate, приоритет 2
+ echo "algo=deflate priority=2" > /sys/block/zramX/recomp_algorithm
+
+Еще один атрибут устройства, который CONFIG_ZRAM_MULTI_COMP включает, это recompress,
+который управляет рекомпрессией.
+
+Примеры::
+
+ #IDLE страницы рекомпрессия активируется режимом `idle`.
+ echo "type=idle" > /sys/block/zramX/recompress
+
+ #HUGE рекомпрессия страниц активирована режимом `huge`
+ echo "type=huge" > /sys/block/zram0/recompress
+
+ #HUGE_IDLE рекомпрессия страниц активирована режимом `huge_idle`
+ echo "type=huge_idle" > /sys/block/zramX/recompress
+
+Количество простаивающих страниц может быть значительным, поэтому в пользовательском пространстве можно задать размер
+порог (в байтах) ручке рекомпрессии: zram будет рекомпрессировать только страницы
+равного или большего размера:::
+
+ #перекомпрессия всех страниц размером более 3000 байт
+ echo "threshold=3000" > /sys/block/zramX/recompress
+

+ #рекомпрессия всех страниц размером более 3000 байт
+ echo "threshold=3000" > /sys/block/zramX/recompress
+
+ #рекомпрессия простаивающих страниц размером более 2000 байт
+ echo "type=idle threshold=2000" > /sys/block/zramX/recompress
+
+ Рекомпрессия простаивающих страниц требует отслеживания памяти.
+
+Во время повторного сжатия для каждой страницы, которая соответствует критериям повторного сжатия,
+ZRAM итерирует список зарегистрированных альтернативных алгоритмов сжатия в
+порядке их приоритетов. ZRAM останавливается либо когда повторное сжатие было
+успешным (повторно сжатый объект меньше по размеру, чем исходный)
+и соответствует критериям повторного сжатия (например, порог размера), либо когда не осталось
+не осталось вторичных алгоритмов, которые можно было бы попробовать. Если ни один из вторичных алгоритмов не может
+успешно повторно сжать страницу, такая страница помечается как несжимаемая,
+поэтому ZRAM не будет пытаться повторно сжать ее в будущем.
+
+Это поведение повторного сжатия, когда он итеративно просматривает список
+зарегистрированных алгоритмов сжатия, увеличивает наши шансы найти
+алгоритм, который успешно сжимает конкретную страницу. Однако иногда,
+очень удобно (а иногда даже необходимо) ограничить рекомпрессию
+только одним конкретным алгоритмом, чтобы не пробовать другие алгоритмы.
+Этого можно добиться, задав параметр algo=NAME:::
+
+ #использовать только алгоритм zstd (если он зарегистрирован)
+ echo "type=huge algo=zstd" > /sys/block/zramX/recompress
+

Переведено с помощью www.DeepL.com/Translator (бесплатная версия)
--- Конец цитаты ---

sfs:
Т.е. вот такой скрипт надо в автостарт

--- Код ---
echo "algo=zstd priority=1" > /sys/block/zramX/recomp_algorithm                                               
 #выбрать алгоритм рекомпрессии deflate, приоритет 2                                                           
 echo "algo=deflate priority=2" > /sys/block/zramX/recomp_algorithm                                             
                                                                                                               
 #IDLE страницы рекомпрессия активируется режимом `idle`.                                                       
 echo "type=idle" > /sys/block/zramX/recompress                                                                 
 #HUGE рекомпрессия страниц активирована режимом `huge`                                                         
 echo "type=huge" > /sys/block/zram0/recompress                                                                 
 #HUGE_IDLE рекомпрессия страниц активирована режимом `huge_idle`                                               
 echo "type=huge_idle" > /sys/block/zramX/recompress                                                           
                                                                                                               
 #перекомпрессия всех страниц размером более 3000 байт                                                         
 echo "threshold=3000" > /sys/block/zramX/recompress                                                           
 #рекомпрессия всех страниц размером более 3000 байт                                                           
 echo "threshold=3000" > /sys/block/zramX/recompress                                                           
 #рекомпрессия простаивающих страниц размером более 2000 байт                                                   
 echo "type=idle threshold=2000" > /sys/block/zramX/recompress 
--- Конец кода ---
Интересно, но как оценить эффективность...

krasnyh:

--- Цитата: sfs от 21 Февраль 2023, 10:02:06 ---Т.е. вот такой скрипт надо в автостарт
--- Конец цитаты ---
В CachyOS уже добавили такое, https://github.com/CachyOS/CachyOS-Settings/blob/master/etc/udev/rules.d/30-zram.rules:

--- Код ---
ACTION=="add", KERNEL=="zram[0-9]*", ATTR{recomp_algorithm}=="", ATTR{recomp_algorithm}="algo=lz4 priority=1"
IMPORT{program}="/sbin/sh -c \"echo \"type=idle\" > /sys/block/zram*/recompress\""
--- Конец кода ---
Обсуждение.

sfs:

--- Цитата: sfs от 21 Февраль 2023, 10:02:06 --- как оценить эффективность...

--- Конец цитаты ---
Не имея четкого понимания, что это очень полезно не хочется добавлять сложных настроек

Навигация

[0] Главная страница сообщений

[#] Следующая страница

[*] Предыдущая страница

Перейти к полной версии