LINUX.ORG.RU

оптимальные параметры zram. или лучше zswap?

 , , , ,


0

2

Недавно включил zram, читал про отличие zram и zswap, но так и не понял, что лучше использовать для моего компа

Настраивал по инструкции с сайта debian
/etc/default/zramswap

PRIORITY=100
ALGO=zstd
PERCENT=60

Эти параметры взял с арчвики
/etc/sysctl.d/99-vm-zram-parameters.conf

vm.swappiness = 180
vm.watermark_boost_factor = 0
vm.watermark_scale_factor = 125
vm.page-cluster = 0

Debian 13, 4 гб озу, Intel Celeron G3930 (2) @ 2.900GHz
Обычный своп не отключал

Комп используется в основном для ютуба, телеграма и для работы (использую vscodium). И очень редко для игр (старых, разумеется). И обычно памяти хватает, но иногда зависает, если открыто много вкладок и потом открыть «тяжёлый» сайт, фигму или вк, например

Насколько оптимальны параметры? Может такие для большего объёма озу и для более мощного процессора подходят. Или может лучше использовать zswap?

Следует иметь в виду, что zram добавляет накладные расходы в виде процессорного времени на сжатие/распаковку. В общем случае, лучше добавить реальной памяти и заменить HDD на SSD, а zram – выключить. А ещë лучше – разжиться более производительным железом. Читать здесь.

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

Я вот тоже смотрю, что-то не особо /dev/zram0 используется, впрочем как и файл подкачки, когда он был. Лиса съедает максимум 2 Гб памяти, но это конечно только у меня, больше двух-трех вкладок не открываю (не из экономии).

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

больше двух-трех вкладок не открываю

А у меня это стало привычкой. Не люблю бардак на рабочем месте и прилагаю много сил по его устранению :)

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

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

zram решает все эти проблемы.

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

общем случае, лучше добавить реальной памяти и заменить HDD на SSD, а zram – выключить. А ещë лучше – разжиться более производительным железом.

Это ты так издалека юзеров zram нищебродами назвал? ;)

slackwarrior ★★★★★
()
Ответ на: комментарий от s-warus

мне ssd нужен для свопа чтобы компютер быстрее работал

Доложите ИТТ оптимальные параметры свопа на ssd, чтоб быстрее. И сравнение с zram, а то чо они. Опять «оптимально» решают проблему XY.

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

своп даже с оперативкой что все процессы в память влезают, даёт выигрышь, с помощью ab замерял, моё объяснение не обяснимой прибавке в 5-15%, выгрузка не рабочего кода (мёртво висящего) даёт прибавку из-за больших кэщей файловой системы и в моём случае базы данных.

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

Всё просто.

Юзай zswap, если есть реальный своп.

Юзай своп в zram, если своп на реальный раздел не назначен.

В частности, zram имеет смысл настроить на live usb, которая втыкается в рандомные компы.

Сочетание zram + реальный своп имело смысл только в переходный период, когда zswap еще не сделали.

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

4 гб озу

А значит реальный свопинг будет.

А значит vm.page-cluster = 0 слишком мало. Если ядро старое и переменная в штуках, то ставь 32-64-128, если новое и в степенях двойки - 5-6-7. Проверяется попыткой установить переменную в 64, логарифмическая шкала не позволит.

PERCENT=60 мне просто не нравится. Задай фиксированный размер SIZE=4096 - сожмётся в 1,5-2гб, должно быть нормально.

Но это всё хорошие настройки для использования без физического свопа. Данные сожмутся в zram и останутся висеть в оперативке по принципу «что первое упало», а после заполнения у тебя начнётся обычный свопинг, только с невытесняемой гирей. Поэтому вместо физического свопа вместе с zram нужно использовать backing_dev (он же ZRAM_WRITEBACK, https://www.kernel.org/doc/Documentation/blockdev/zram.txt). Или И своп И backing_dev если нужно ещё и гибернацию.

Кстати, /etc/default/zramswap, /etc/sysctl.d/99-vm-zram-parameters.conf мне тоже не нравится.Намного проще, универсальней и однозначней всё это управляется передачей команд через /etc/rc.local типа того же «echo /dev/sda5 > /sys/block/zramX/backing_dev», что не поддерживается в zram-tools.

Или можно использовать zswap. Это проще, а результат в худшем случае лишь чуть-чуть хуже в плане отзывчивости (вроде бы zram быстрее поднимает данные из свопа, но это не измеримо и субъективно, и на уровне погрешности). Там по сути всего 3 настройки и 40%/zsmalloc/zstd должно быть оптимальным. С другой стороны простой и надёжный определитель z3fold в новых ядрах помечен как deprekated, а модифицированный zsmalloc я ещё не оттестировал и у меня есть некоторое подозрение что там не всё гладко (хотя в теории должно быть здорово)(так что это просто подозрения).

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

Когда система начала фризить потому что память не успевает кормить процессор - накладные расходы уже побоку. Так что границу начала свопинга лучше бы поджать к 90% заполнения. Жаль что сейчас это не сделать в явном виде.

kirill_rrr ★★★★★
()

Брошу своих пару копеек
Все зависит от твои задач и какие цели

Zram:
подойдет если тебе нужно выйграть немного памяти так-как но есть нюансы с которыми ты сталкнешься
1)При сжатие у тебя грузиться процессор(хотя можно настроить) поэтому фризы на слабой системы будут видно
2)нету выбора степени сжатие
из плюсов если только что сжатие происходит в озу тем саммый продливаешь жизнь диска

Zswap: Тот же принцип тока сжатие происходит в свап разделе из плюсов ты можешь выбрать сколько тебе нужно свопа и сколько нужно тебе сжать

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

Да в современном линуксе вообще хз как своп заставить юзать. Я сколько ни проверяю - какая бы ни была загрузка памяти, своп по нулям. Вот раньше, помню, линуксы с памятью работали по уму. Даже если память не заполнена - всё равно смотрели и вытесняли на своп страницы, к которым доступа давно не было. Поработает компьютер неделю, и гигабайт-другой уже в свопе. И хорошо. Видно, что оборудование не простаивает. А сейчас какая-то шляпа.

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

В идеальном мире покупают такую конфигурацию, какая нужна.

В реальном мире покупают то, что есть в магазинах, ибо всякие конструкторы конфигураций это что-то из мира фантастики… Так что ты прав. Хотя вроде есть намётки на то, что ноутбуки опять будут со съёмной памятью, какие-то там слоты новые придумали…

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

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

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

и у себя на ноутбуке заметил своп также не охотно работает. может защита от износа ссд ?

pwp888
()