LINUX.ORG.RU

Используете ли вы zswap или своп в zram?

 ,


0

4

Android-системы не учитываем.

Если не знаете, проверьте.

Проверить, используется ли zswap:

$ cat /sys/module/zswap/parameters/enabled

Проверить, используется ли своп в zram — swapon
В списке устройств подкачки должна быть строчка с zram

Посмотреть статистику использования

  • zram — команда zramctl (без параметров, от пользователя)
  • zswap — скрипт zswap-monitor2 (требует root прав)

Если используется zswap с отключенным свопом (disable writeback) или zram с включенным writeback-device, напишите комментарий.

Итак, вы в вашей основной системе используете…

  1. не использую ни одну из этих технологий 262 (65%)

    ********************************************************************************************************************************************************************************************************************************************************************************************************************************

  2. своп в zram (сознательно включил) 57 (14%)

    *********************************************************************

  3. zswap (сознательно включил) 31 (8%)

    *************************************

  4. своп в zram (по умолчанию в дистрибутиве) 29 (7%)

    ***********************************

  5. zswap (по умолчанию в дистрибутиве) 16 (4%)

    *******************

  6. zswap и своп в zram одновременно 6 (1%)

    *******

Всего голосов: 401

★★★★★

Проверено: hobbit ()
Последнее исправление: greenman (всего исправлений: 11)

✔ zswap (сознательно включил)

Думаю, стоит немного расширить тематику опроса, чтоб два раза не вставать, и добавить варианты просто про swap. То есть, к уже имеющимся добавить ещё:

  • не использю zswap и zram, но есть swap в виде раздела
  • не использю zswap и zram, но есть swap в виде файла
  • не использую swap вообще

P.S. компрессор использую по умолчанию — lzo. Знаю, что некоторые меняют на lz4 или zstd. Но по этому поводу хотелось бы услышать, у кого какой опыт, и как оно вообще — стоит ли по вашему?

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)
Ответ на: комментарий от CrX

P.S. компрессор использую по умолчанию — lzo.

В арче сейчас zstd/zsmalloc, но zswap по умолчанию не включен.

Стоит менять или нет — это надо проводить исследования. Пару лет назад @kirill_rrr выкладывал.

Zram vs Zswap. Часть 1: практика

Zram vs Zswap. Часть 2: тесты

greenman ★★★★★
() автор топика
Последнее исправление: greenman (всего исправлений: 3)
Ответ на: комментарий от greenman

В арче сейчас zstd/zsmalloc, но zswap по умолчанию не включен.

Да, я знаю. Но у меня Void.

А исследования были бы интересны, да. В арче же наверное не от балды zstd используют. Вообще мне нравится zstd — я его активно юзаю для тарболлов и для SquashFS — там он прям идеально выполняет свою функцию, и реактивная скорость декомпрессии очень радует. Но для чего-то такого реалтаймового не уверен — всё же скорость сжатия у него ниже, чем у lzo или lz4, ну или потребление ресурсов выше.

CrX ★★★★★
()

И есть ли сейчас дистрибутивы, где zram+swap по умолчанию?

Раньше писали, что в Fedora такое. А сейчас?

https://discussion.fedoraproject.org/t/psa-transitioning-from-zram-swap-to-zswap/138256

PopOS?

https://www.reddit.com/r/linux/comments/11dkhz7/zswap_vs_zram_in_2023_whats_the_actual_practical/

greenman ★★★★★
() автор топика
Последнее исправление: greenman (всего исправлений: 2)
Ответ на: комментарий от greenman

Ну там ничего нового. Очевидно, что lzo жмёт лучше. Смысл в lz4 в том, что он ощутимо быстрее (ну то есть, потребляет меньше CPU), особенно на декомпрессию, а уровень сжатия при этом сопоставим.

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

Чисто интуитивно кажется, что на каком-нибудь там Raspberry Pi или хромобуке, или древнем ПК с помойки может иметь смысл юзать lz4, а на компе с процессором хотя бы из среднего сегмента (уровень i5, может даже i3) и моложе 10 лет — нет.

В принципе, вопрос скорее праздный, ибо «работает — не трогай», да и swap всё равно мало юзается, обычно. Но всё же было бы интересно послушать тех, кто пробовал разные алгоритмы и заметил какую-то реальную разницу.

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)
Ответ на: комментарий от greenman

но zswap по умолчанию не включен.

На данный момент включен для «обычного» и -rt ядер.

greenman ★★★★★
() автор топика
# dmesg | grep zswap
[    0.724431] zswap: loaded using pool zstd/zbud

# swapon
NAME           TYPE      SIZE USED PRIO
/dev/nvme0n1p3 partition  16G 1,5M   -2

Это значит, что используется zswap? Сам ничего такого не настраивал.

ogion ★★★
()
Ответ на: комментарий от greenman

Ну, ставил когда-то Starterkit p10. Дома надо тоже посмотреть, там такой же стартеркит, только уже обновлённый до p11.

ogion ★★★
()
Ответ на: комментарий от ogion

Может в параметрах загрузки ядра есть zswap.enabled=1?

# grep -r . /sys/kernel/debug/zswap/

что-нибудь показывает?

greenman ★★★★★
() автор топика
Ответ на: комментарий от greenman
# grep -r . /sys/kernel/debug/zswap/
/sys/kernel/debug/zswap/same_filled_pages:0
/sys/kernel/debug/zswap/stored_pages:0
/sys/kernel/debug/zswap/pool_total_size:0
/sys/kernel/debug/zswap/duplicate_entry:0
/sys/kernel/debug/zswap/written_back_pages:0
/sys/kernel/debug/zswap/reject_compress_poor:0
/sys/kernel/debug/zswap/reject_kmemcache_fail:0
/sys/kernel/debug/zswap/reject_alloc_fail:0
/sys/kernel/debug/zswap/reject_reclaim_fail:0
/sys/kernel/debug/zswap/pool_limit_hit:0
ogion ★★★
()
Ответ на: комментарий от ogion

В общем, я не до конца разобрался в теме. Спасибо.

greenman ★★★★★
() автор топика
Ответ на: комментарий от ogion

Странно у вас в альте. Проверил на archlinux без zswap

$ journalctl -b 0 --grep zswap
-- No entries --

(dmesg | grep -i zswap — нет выхлопа)

# grep -r . /sys/kernel/debug/zswap/
grep: /sys/kernel/debug/zswap/: Нет такого файла или каталога

В altlinux alterator как-то включает zswap помимо /sys/module/zswap/parameters/enabled?

greenman ★★★★★
() автор топика
Последнее исправление: greenman (всего исправлений: 1)
Ответ на: комментарий от greenman

Про alterator не скажу. Ради интереса попробовал включить zswap у себя на домашней машине с p11.

Для этого установил пакет zswap-0.53-alt1. Он содержит скрипт zswap и systemd-сервис zswap.service, который будучи запущенным, активирует zswap, записывая Y в /sys/module/zswap/parameters/enabled.

Теперь у меня так:

# zswap
Сжатие при заполнении пула на    :           90%
Тип сжатия                       :         zstd
Выделение памяти под пул         :           20%
Тип пула                         :         zbud
zswap 
ogion ★★★
()
Ответ на: комментарий от ogion

Удивляет, честно говоря. Ставить отдельный пакет, когда можно добавить zswap.enabled=1 в параметры загрузки ядра.

кстати

https://bugzilla.altlinux.org/53293

greenman ★★★★★
() автор топика
Последнее исправление: greenman (всего исправлений: 2)
Ответ на: комментарий от greenman

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

Просто посмотрел, что есть в репозитории по zswap, нашёл пакет, в котором сервис, который вызывает скрип, которым можно включить, выключить, посмотреть настройки. Плюс ещё содержит конфигурационный файл, в котором можно прописать нужные параметры при необходимости.

Я вообще про zswap из этого опроса впервые узнал. :)

ogion ★★★
()
Ответ на: комментарий от greenman

кстати https://bugzilla.altlinux.org/53293

Да, я видел эту багу, потому взял именно версию 0.53, прямо из задания 378216, которое собрано, но пока не прошло аппрув, чтобы попасть в стабильный бранч.

ogion ★★★
()
Ответ на: комментарий от greenman

Собственно сервис почти так и делает. Просто сделал enable и start сервису. Не надо прописывать параметры ядра, перегенерировать конфиг grub. Захочется выключить, сделаю stop и disable. И опять не надо будет трогать конфиг grub’а.

ogion ★★★
()

(сознательно включил)

NAME       TYPE         SIZE USED PRIO
/dev/zram0 partition 1005.4M   0B  100
amd_amd ★★★★★
()
11 мая 2025 г.

Всё-таки вариант «не использую» нужен…

hobbit ★★★★★
()

Без варианта «Не использую» почти гарантированно будет сломана статистика.

Werenter ★★★
()
Ответ на: комментарий от greenman

Поможет ли одна из этих технологий чуток облегчить работу современного браузера на стареньком ноуте с 2 гигабайтами ОЗУ? Или тут только железный апгрейд спасёт? Процессор 64-разрядный, точного названия под рукой сейчас нет.

hobbit ★★★★★
()
Ответ на: комментарий от greenman

zstd просто на голову круче остальных. А с учётом нового zsmalloc в zswap даже не придумать сценария когда zstd мог бы не превзоти всех прочих.

Я не использовал его исключительно потому чтоу меня там (и до сих пор) дебиан8 с ядром 4.4 на распберри Пи3, которая домашний сервер и главный потребитель свопа.

kirill_rrr ★★★★★
()
Последнее исправление: kirill_rrr (всего исправлений: 1)
Ответ на: комментарий от ogion

«модуль загружен» это ещё не «включен в работу с настройками *****».

kirill_rrr ★★★★★
()
Ответ на: комментарий от ogion

Да просто модуль загружен, но настройки работы не заданы и он просто спит.

kirill_rrr ★★★★★
()
Ответ на: комментарий от hobbit

ПЦ как поможет! Как минимум до состояния «ОЗУ стало 3 Гб», а если открывать вкладки по 1-2 штуки сверх этого лимита - можно отделаться лёгкими фризами вместо подтормаживаний. Даже в самом худшем варианте, когда физический своп очень скоросной - работа может не ускорться, но i/o снизится в разы.

kirill_rrr ★★★★★
()
Последнее исправление: kirill_rrr (всего исправлений: 1)

Технология гениальная. Пару лет юзал самостоятельно, эмулировал многопоточность, потом включили в дистрибутив и сделали нормально. Я про zam. Физиическиий своп нахрен больше не нужен даже при нехватке ОЗУ.

Я хз как можно это не юзать сейчас. Это дожлно быть по умолчанию в каждом дистрибутиве просто потому что.

LightDiver ★★★★★
()

Я запутался в терминах. Проголосовал за своп в zram (сознательно), т.к. у меня нет ни файла ни раздела.

dmitry237 ★★★★★
()

Если не знаете, проверьте.

Спасибо за инструкцию. Не все тут эксперты по тюнингу Линукса. Получилось такое:

своп в zram (по умолчанию в дистрибутиве)

Чем оно различается, понятия не имею. Для меня лично не актуально, но с комментарии для общего развития почитаю. Оперативки – максимальные 16 Гб, работа не съедает больше 8 Гб, оставшиеся 8 кешируют ввод-вывод. Сильно вжарить при всем желании не получится, потому что на моих задачах все упрется в дохленький Core i3. Есть 32-гиговый своп-раздел. Во-первых, чтобы был, а во вторых для гибернации. Гибернация – тоже чтобы была, по факту хватает ждущего режима.

Vidrele ★★★★★
()
Ответ на: комментарий от greenman

В арче сейчас zstd/zsmalloc, но zswap по умолчанию не включен.

Похоже опять включили, раз в арчвики написано:

Совет: в официально поддерживаемых ядрах по умолчанию включен zswap. Это можно проверить с помощью zgrep CONFIG_ZSWAP_DEFAULT_ON /proc/config.gz.


upd. Проверил в archlinux-2025.05.01-x86_64.iso, да, CONFIG_ZSWAP_DEFAULT_ON=y

krasnh ★★★★★
()
Последнее исправление: krasnh (всего исправлений: 1)
Ответ на: комментарий от LightDiver

Лучше спросите почему в винде имеется аналог, только он задействуется на ~30Мб из ~16Гб памяти.

kirill_rrr ★★★★★
()
Ответ на: комментарий от LightDiver

Я про zram.

Я хз как можно это не юзать сейчас. Это дожлно быть по умолчанию в каждом дистрибутиве просто потому что.

Ну, в федоре по умолчанию уже давно. Но этот дистр как бы на острии технического прогресса, а таких мало.

Плюс, для многих на ЛОРе. даже опытных пятизвездных, zram/zswap до сих пор из разряда «ох уж эти ваши сказочки» и «ненужно», 🙂 Используете ли вы zswap или своп в zram? (комментарий).

krasnh ★★★★★
()
Ответ на: комментарий от krasnh

Я в кальке до 2018 юзал вручную. Где то с 2018 года включили по умолчанию. То есть это вообще не новая технология ни разу.

LightDiver ★★★★★
()

Федора и zram по умолчанию.

cetjs2 ★★★★★
()

не использую ни одну из этих технологий

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

With ★☆☆
()

Выяснилось, что на основном домашнем десктопе

не использую ни одну из этих технологий

Но на нём она, может, не особо и нужна. А вот на соньке с 8 гигами памяти, пожалуй, стоит попробовать. И тем более на двухгиговом аппарате, про который я писал выше.

hobbit ★★★★★
()

Вы чё все ваще?! «Память дешёвая» же!

dimgel ★★★★★
()
Ответ на: комментарий от mx__

что zswap в данный момент не работает.

а параметр CONFIG_ZSWAP=y в /boot/config-****-generic показывает что zswap вкомпилирован в ядро.
и его работу можно включить в любой момент отправив # echo Y > /sys/module/zswap/parameters/enabled

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 1)
Ответ на: комментарий от pfg

Блин я тормоз, гадал что такое N, мне казалось что там должно быть false :)

P.S. У меня F42 и если инженера Ф42 по умолчанию сделали что N значит так лучше, они больше понимают во всем этом.

Не совсем понял как мне проголосовать? 1й пункт что ли?

mx__ ★★★★★
()
Последнее исправление: mx__ (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.