Форум проекта PuppyRus Linux

Разработки проекта PuppyRus => Патчи, твики => Компиляция ядра Linux => Программирование и компиляция => pf-kernel - desktop-oriented Linux kernel fork. => Тема начата: krasnyh от 04 Октябрь 2020, 00:12:27

Название: mglru, le9-patch + zram. Нехватка памяти, фризы:OOM KILLER и пр.
Отправлено: krasnyh от 04 Октябрь 2020, 00:12:27
Выводы : zram+le9-patch дают волшебный эффект на ПК с малым к-вом RAM
Настройка (https://forum.puppyrus.org/index.php?topic=23160.msg178484#msg178484) (в LF дистрибах  задается в параметрах ядра  zram= (https://wiki.puppyrus.org/soft/porteus-initrd#zram), выполняется в  /etc/rc.d/zswap)
По оптимальным настройкам zram https://www.linux.org.ru/forum/desktop/16105853?cid=16109427
Цитата
Нет смысла (https://www.kernel.org/doc/html/latest/admin-guide/blockdev/zram.html) создавать zram размером более чем в два раза больше памяти, поскольку мы ожидаем коэффициент сжатия 2:1. Обратите внимание, что zram использует около 0,1% размера диска, когда не используется, поэтому огромный zram является расточительным.

https://archlinux.org.ru/forum/topic/20297/?page=1
Earlyoom, замена стандартного ООМ Killer (https://forum.puppyrus.org/index.php?topic=22942.msg171276#msg171276)
earlyoom-p-1.6.1_64-sf01.pfs (http://mirror.yandex.ru/puppyrus/puppyrus-a64/pfs-portable/earlyoom-p-1.6.1_64-sf01.pfs) - при горячей загрузке сам загрузит что надо
Пример конфига (https://forum.puppyrus.org/index.php?topic=22942.msg172052#msg172052)
nohang (https://www.opennet.ru/opennews/art.shtml?num=49653)
https://aur.archlinux.org/packages/zram-swap-git/


По теме нехватки памяти, фризов и срабатывания OOM KILLER, от русскоязычного автора nohang (https://github.com/hakavlad/nohang) (аналог earlyoom, но более настраиваемый).
https://www.linux.org.ru/forum/desktop/15926779
Далее авторские цитаты:

Цитата
"Просто оставлю это здесь: Игра в supertux2 с множественными `tail /dev/zero` в фоне без зависаний"
Цитата
Собственно: https://youtu.be/fPnbnNX9CPE

Система на HDD, Debian 9 Mate, MemTotal=10GB, swap on zram (disksize=14GB). memavaild, prelockd и nohang-desktop работают в фоне и помогают сохранять отзывчивость несмотря ни на что.

https://github.com/hakavlad/nohang
https://github.com/hakavlad/prelockd
https://github.com/hakavlad/memavaild

Кратко: prelockd - новейшее оружие в борьбе за отзывчивость при нехватке памяти.

Цитата

    Что делает-то код? Просто убивает тейлы?

nohang: убивает тейлы.

memavaild: балансировщик доступной памяти. При исчерпании доступной памяти уменьшает memory.high указанных в конфиге контрольных групп (по умолчанию user.slice и system.slice), тем самым освобождая доступную память и место под файловые кэши.

prelockd:
mlock() на мемори маппленные файлы. Это препятствует не выгрузке в своп, а ОТБРАСЫВАНИЮ КЭША. Обычно при нехватке памяти кэш исполняемого кода отбрасывается, потом снова загружается с диска - возникает колесо thrashing’a и высокий io (чему очень удивлялся А. Ташкинов [1]). При применении prelockd такого не происходит - нет фазы выгрузки кода и зависания - сразу приходит киллер. При наличии свопа просто силно растет отзывчивость гуя и прочего.

[1] https://lkml.org/lkml/2019/8/4/15

Цитата

    А в чем успех?

Успех в решении проблемы века - неспособности линуксов мягко обрабатывать нехватку памяти, см https://www.opennet.ru/opennews/art.shtml?num=51231

upd.
Цитата
Playing supertux2 with 8 "while true; do tail /dev/zero; done" in background https://www.youtube.com/watch?v=Kz8_OuDMsuE

С показом top и метрик PSI.

Цитата
Compiling Linux 5.4 with make -j512, MemTotal=9.6G, swap om zram https://youtu.be/dPw5c4rYAdE


p.s. Мопед не мой, не надо меня спрашивать. :)
Название: Re: le9-patch
Отправлено: betcher от 04 Октябрь 2020, 07:22:55
Это препятствует не выгрузке в своп, а ОТБРАСЫВАНИЮ КЭША.
ЕМНИП, именно это балансируется значением swappiness. Если приложение требует память, а свободной нет у ядра два выхода: скинуть в своп и сбросить кэш. Чем выше значение swappiness тем больше ядро использует своп сохраняя кэши.
Nohang смотрел, давно правда. Вам не понравится, там питон :)
Не уверен, что все эти конструкции реально могут решить проблему. Одно дело если открыто куча программ, плюс куча страниц в браузере. Если тут оом киллер грохнет кого, то и не жалко.
А если к примеру в гимпе открыт большой проект с несколькими изображениями в большом разрешении. Чем здесь поможет  nohang или earlyom?  Гимп грохнет? Ладно, допустим можно запретить убивать именно гимп. Кого он тогда убьет, следующими по прожорливости могут оказаться иксы или системд.
Я не к тому, что эти киллеры - плохо. Просто это точно не универсально.
Название: Re: le9-patch
Отправлено: krasnyh от 04 Октябрь 2020, 09:20:37
Хочу заметить, что там нет стандартного свопа - раздела, файла или zswap. Там чистый zram, в числовом исчислении, примерно zram_size=$(( RAM_SIZE / 1 )). Если точнее, то где-то /0,7.
MemTotal=10GB, swap on zram (disksize=14GB)
Т.е. тестируемые условия были нестандартны.
Название: Re: le9-patch
Отправлено: krasnyh от 06 Октябрь 2020, 23:09:29
Швейцарские физики выбирают nohang для обработки нехватки памяти (https://www.linux.org.ru/forum/general/15865968)
Цитата

Физики Швейцарской высшей технической школы Цюриха (самого престижного вуза Швейцарии) выбирают nohang для обработки нехватки памяти на своих рабочих станциях:

    OOM долгое время был проблемой, к счастью, пакет nohang с бэкпортированием для 18.04 и 20.04 очень помогает. Имейте в виду, что с 20.04 он работает намного лучше из-за более нового ядра и поддержки PSI.

https://readme.phys.ethz.ch/linux/software_on_the_d-phys_linux_computers/
Название: Re: le9-patch
Отправлено: krasnyh от 10 Декабрь 2020, 21:27:26
Цитата hakavlad:
Цитата
В манджаро форуме вскрывалась тема включения киллера, но ни к чему не пришли: https://archived.forum.manjaro.org/t/include-out-of-memory-warnings-or-protection-by-default-e-g-earlyoom-or-nohang/128398. Одкако своп ставится на zram.

В убунтах прогресса ноль - по умолчанию предлагается своп-файл и никакой дополнительной защиты.

Garuda Linux - сборочка арча - включает по умолчанию swap on zram, nohang, prelockd, memavaild.

Все больше дистрибутивов включают swap on zram по умолчанию. Юзерспейсных киллеров включают по умолчанию Fedora, Endless OS, Garuda Linux. Прогресс очевиден, хотя и недостаточно быстр.
Линуксы зависли, реакции нет (https://www.linux.org.ru/forum/desktop/16026385?cid=16026563)


Упомянутый Garuda Linux (https://garudalinux.org/). Целое семейство DE/WM на базе арча - KDE, GNOME, Xfce, Cinnamon, MATE, LXQt-kwin, Deepin, Wayfire, BSPWM and i3wm.
Swap on zram, nohang, prelockd, memavaild. Скрины (второй скрин просто показать рабочий стол i3). Запускалось в вирте. Настройки по умолчанию.
Название: Re: le9-patch
Отправлено: krasnyh от 23 Декабрь 2020, 18:40:21
В теме Linux 5.10 (https://www.linux.org.ru/news/kernel/16052362) встретились post-factum (pfs-kernel) и hakavlad (nohang). Итог, добавление le9-patch (Патч эффективно устраняет thrashing и причины долгого неприхода киллера (c)) в ядро, ссылка (https://gitlab.com/post-factum/pf-kernel/-/wikis/README#ok-whats-there-in-your-patchset).

*Пробуксовка (англ. thrashing) в информатике — состояние, когда подсистема виртуальной памяти компьютера находится в состоянии постоянного свопинга, часто обменивая данные в памяти и данные на диске, в ущерб выполнению приложений. Это вызывает замедление или практическую остановку работы компьютера. Такое состояние может продолжаться неограниченно долго, пока вызвавшие его причины не будут устранены.
Википедия (https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B1%D1%83%D0%BA%D1%81%D0%BE%D0%B2%D0%BA%D0%B0_(%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0))


p.s. Когда сталкиваются два разработчика на одной площадке, это может привести к интересным результатам. Да и просто интересно почитать тред.
Название: Re: le9-patch
Отправлено: imp от 23 Декабрь 2020, 23:13:56
Это же очевидно...
Название: Re: le9-patch
Отправлено: TT от 25 Декабрь 2020, 16:39:05
"Ха-а-ачу маленькое 5.10 ядро-о, ха-а-ачу-у-у.." (TT ноет)
Название: Re: le9-patch
Отправлено: betcher от 26 Декабрь 2020, 07:14:23
Sfs, тему наверное нужно разделить или переименовать. Про uird где-то далеко в начале только.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 28 Март 2021, 18:59:15
Дополню свой пост выше (https://forum.puppyrus.org/index.php?topic=23160.msg173896#msg173896) скрином из fedora34-beta (i3wm).
Повторю уже сказанное мной на форуме ранее - новые тенденции назначать disksize=total RAM, при дефолтных 1/4.

https://spins.fedoraproject.org/prerelease.html
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 29 Март 2021, 13:16:39
новые тенденции
В этом (https://forum.puppyrus.org/index.php?topic=14803.msg176197#msg176197) ядре есть все что нужно для счастья?
Как что правильно и оптимально включить? Или там все что надо по дефолту включено?
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 29 Март 2021, 17:49:33
Код
live@pra-roll ~ % uname -a
Linux pra-roll 5.11.0-pf2-1-pra #1 SMP Sat Mar 6 18:34:45 MSK 2021 x86_64 GNU/Linux
live@pra-roll ~ % lsmod | grep zram
zram                   20480  8

Я включаю через systemd-swap 4.4.0-2 (https://archlinux.org/packages/community/any/systemd-swap/)
Код
live@pra-roll ~ % cat /etc/systemd/swap.conf.d/myswap.conf
zswap_enabled=0
zram_enabled=1
zram_size=$(( RAM_SIZE ))
zram_count=1
swapd_auto_swapon=0
Утилита для проверки zramctl.


И ссылку по oom-killer, чтобы не искать https://wiki.archlinux.org/index.php/Improving_performance#Improving_system_responsiveness_under_low-memory_conditions. Это обязательная часть, иначе опять будет:
Юзал на твбокс (под линуксом). Когда хром сжирал память - висло
Напомню, что настраиваются они достаточно гибко. Для браузера это вкладки, а другие процессы можно распределить по степени важности. Так что не надо опасаться, что убьет сессию. У меня с earlyoom до этого еще не разу не доходило.

Мой пример - выставлены в первую очередь как самые ресурсоемкие qemu и firefox, в котором акцент сделан на вкладки, само окно не убивается.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 29 Март 2021, 18:13:54
т.е. включить через systemd:
1. uksmd
2. zram (zswap выкл)
3. https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=oomd
?
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 29 Март 2021, 18:17:43
Я включаю через systemd-swap 4.4.0-2
Давно не заходил на гит, а там предупреждение "Current code quality and commit frequency is low" (https://github.com/Nefelim4ag/systemd-swap#%EF%B8%8F-current-code-quality-and-commit-frequency-is-low-%EF%B8%8F) с предложением перейти на systemd/zram-generator (https://aur.archlinux.org/packages/?O=0&K=zram-generator). Кстати, когда юзал fedora34 там вроде тоже zram-generator.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 29 Март 2021, 18:22:28
oomd
Не знаю с чем его едят, более популярный earlyoom, он сейчас в fedora33. Но в fedora34 хотят отказаться от него в пользу systemd-oomd, тестируют сейчас. Правда говорят он убивает целые группы, нет такой гибкости как в других. На лоре есть тема (https://www.linux.org.ru/forum/desktop/16229420).
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 29 Март 2021, 18:23:18
т.е. включить через systemd:
Да.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 30 Март 2021, 09:25:10
oomd и т.п. это демон, который следит за наличием памяти и если мало сам убивает жрущие ее процессы не спрашивая?
А если есть своп и он не заполнен?
Что со свопом в этой теме - отключать?
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 30 Март 2021, 10:49:50
Zram подразумевает неиспользование стандартного своп раздела/файла.

Playing supertux2 with 8 "while true; do tail /dev/zero; done" in background https://www.youtube.com/watch?v=Kz8_OuDMsuE
Хочу заметить, что там нет стандартного свопа - раздела, файла или zswap. Там чистый zram,
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: betcher от 31 Март 2021, 08:02:04
Zram подразумевает неиспользование стандартного своп раздела/файла.
Можно иметь и zram-swap и обычный, приоритеты только расставить правильно. Почему нет?
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 31 Март 2021, 09:03:58
zram-swap и обычный
Обычный - это типа
uird.mode=changes uird.changes=/memory/ch.img::FS=btrfs::MNT_OPTS=compress=lzo::SIZE=1024::TIMEOUT=1
Что-то запутался - если zswap делается через zram.ko - зачем вообще zswap.ko (http://www.pivpav.com/post/150#comment-1540230756)
zswap монолитно. zram модулем.
Кстати - почему compress=lzo ? Вроде lz4  лучше. Или zstd (https://webguard.pro/os/linux/zram-v-kachestve-swap-fajla-v-linux.html)

приоритеты только расставить правильно.
Можно подробнее...

Логически мысля - если uksm+zswap = т.к. zswap сожмет - uksm станет менее эффективен, т.к. одинаковых блоков памяти будет меньше
Или как это работает...?
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 31 Март 2021, 12:50:22
если uksm+zswap
Автор pf-kernel так и использует https://www.linux.org.ru/news/kernel/16161909?cid=16168143.


А вот чистый zram использует hakavlad и советует другим. Ссылка (https://www.linux.org.ru/search.jsp?q=zram&range=COMMENTS&interval=ALL&user=hakavlad&_usertopic=on&sort=DATE&section=).
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 31 Март 2021, 12:59:20
приоритеты только расставить
Можно, почему нет. Если не ошибаюсь, параметр swapd_auto_swapon=0 (https://forum.puppyrus.org/index.php?topic=23160.msg176481#msg176481), как раз и выключает своп при использовании zram. Т.е. не требуется физически удалять, такого и не говорил.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 31 Март 2021, 13:21:03
Автор pf-kernel так и использует https://www.linux.org.ru/news/kernel/16161909?cid=16168143.
Это он настоящий zswap использует, а не swap в zram
А если у него zswap файлом на диске - вообще не то, что я имел ввиду

Провел эксперимент (ядро 5.11.0-pf2) :
prar2008-ovs в виртуалке с 1G RAM с earlyoom-p-1.6.1_64-sf01.pfs (http://mirror.yandex.ru/puppyrus/puppyrus-a64/pfs-portable/earlyoom-p-1.6.1_64-sf01.pfs)
= в palemoon открывается youtube + при открытии 1го ролика earlyoom (с дефолтными настройками)его убивает

prar2008-ovs в виртуалке с 1G RAM с earlyoom и zram=33% (swap в zram) = в palemoon открывается youtube + при открытии 2го ролика earlyoom (с дефолтными настройками)его убивает

Делаю вывод, что при малом количестве памяти zram хоть чем-то может помочь
А более глобальный вывод - пк <2G RAM на помойку  ;)
Кроме того после падения своп остался частично заполненным.
Мутный какой-то этот zram. uksm попонятней будет

prar2008-ovs в виртуалке с 1G RAM БЕЗ earlyoom = в palemoon открывается youtube + при открытии 1го ролика он сам падает (без earlyoom)
..... Может так хорошо только с palemoon
Кому earlyoom реально помогал и в каких ситуациях?

Пока сделал модуль earlyoom-p-1.6.1_64-sf01.pfs (http://mirror.yandex.ru/puppyrus/puppyrus-a64/pfs-portable/earlyoom-p-1.6.1_64-sf01.pfs) - при горячей загрузке сам загрузит что надо
Не уверен что надо ставить в iso. Особенно включенным по дефолту...
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: betcher от 31 Март 2021, 13:27:42
zram-swap и обычный
Имел ввиду своп в zram и обычный своп на раздел или в файл. Приоритеты расставить у свопов, чтоб приоритет zram-свопа был выше.
uird.mode=changes uird.changes=/memory/ch.img::FS=btrfs::MNT_OPTS=compress=lzo::SIZE=1024::TIMEOUT=1
Это совсем не про своп. Lzo скорее для примера, середнячок. Можно не указывать алгоритм вообще, будет то что по умолчанию. Визуально разница в алгоритмах вообще не заметна, линейкой не мерил.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 31 Март 2021, 13:30:41
Zswap это zswap, а zram это zram. Не надо придумывать своих определений, они уже и так есть.
https://wiki.archlinux.org/index.php/Improving_performance#Zram_or_zswap


Для earlyoom надо сразу и конфиг в модуль, пример по ссылке https://forum.puppyrus.org/index.php?topic=22942.msg172052#msg172052. Он не будет убивать окно браузера, параметр Web Content.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: betcher от 31 Март 2021, 13:33:36
как раз и выключает своп при использовании zram. Т.е. не требуется физически удалять, такого и не говорил.
swapon с ключем -p устанавливает приоритет использования доступных свопов. Если у вас больше одного свопа можете используя эти приоритеты заставить ядро юзать своп на zram, а своп на диске использовать только если на зрам заканчивается место. Это имел ввиду.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 31 Март 2021, 13:34:57
Приоритеты расставить у свопов, чтоб приоритет zram-свопа был выше.
Зачем придумывать, если для этого есть zswap. Zram же как раз для того, чтобы полностью отказаться от свопа на медленном носителе. Для каждого случая свои инструменты, разве нет?
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 31 Март 2021, 13:41:48
prar2008-ovs в виртуалке с 1G RAM с earlyoom и zswap=33%
А если disksize=Total RAM? Я же именно об этом столько постов написал, чтобы обратить внимание на необходимость изменения дефолтного параметра в сторону увеличения, иначе смысла нет.


Автор zram предусматривает возможность создания disksize > MemTotal.
Цитата
Примечание. Нет смысла создавать zram, превышающий вдвое объем памяти, поскольку мы ожидаем степени сжатия 2: 1.
https://www.kernel.org/doc/html/latest/admin-guide/blockdev/zram.html#set-disksize


Алгоритм lzo-rle считается более быстрым, но zstd жмет сильнее.
Цитата
Начиная с Linux 5.1 дефолт lzo-rle. Хороший дефолт. zstd - альтернатива - сжимает сильнее, но, возможно, медленнее.
https://www.linux.org.ru/forum/general/16233491?cid=16233653
Код
live@pra-roll ~ % cat /sys/block/zram0/comp_algorithm 
lzo lzo-rle lz4 lz4hc 842 [zstd]
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 31 Март 2021, 14:30:00
Делаю вывод, что при малом количестве памяти zram хоть чем-то может помочь
Не прошло и 100 лет.
Zram используется уже давно в Chrome OS, в fedora33, в garuda, в alexelec. Windows пошла по этому пути, про Apple тоже самое говорят. Здесь на форуме про zram куча постов...
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 31 Март 2021, 15:38:28
Что лучше?
MNT_OPTS=compress=
или swap в zram?
swap в zram, наверное попроще - в любое время можно вкл\выкл
А MNT_OPTS=compress надо на стадии инитрд делать...

Не надо придумывать своих определений,
Ну и как  swap в zram называется по научному?
В моем эксперименте поправил zram= (https://wiki.puppyrus.org/soft/porteus-initrd#zram)

Для каждого случая свои инструменты
Ну так какие для каких? Надо как-то выводы из темы сделать...

А если disksize=Total RAM? Я же именно об этом столько постов написал, чтобы обратить внимание на необходимость изменения дефолтного параметра в сторону увеличения, иначе смысла нет.
prar2008-ovs в виртуалке с 1G RAM  и zram=100% (swap в zram) = в palemoon открывается youtube + при открытии 4го ролика зфдуьщщт упал
Т.е. получается - это лучший вариант.....
А это не тоже самое как MNT_OPTS=compress= в uird получается....
Мутная тема. С трудом понимаю как такое работает...

Автор zram предусматривает возможность создания disksize > MemTotal.
Не веря в успех попробовал zram=200%
Работает !!! Вкладок удалось открыть в 2 раза больше , чем zram=100%
Не понимаю откуда берется память.... Или htop паказывает несжатые объемы...
Так сильнее тормозит (мне показалось)

lzo-rle считается более быстрым, но zstd жмет сильнее
Получается - золотая середина lz4
 (https://webguard.pro/os/linux/zram-v-kachestve-swap-fajla-v-linux.html). Он и в 4.4. ядрах DDR есть

Не прошло и 100 лет.
Ну давайте выработаем какие-то рекомендации по использование - что юзать на каком железе и при каких задачах
Кто может сформулировать?

На домашнем ПК с 8RAM - я , наверное ограничусь uksmd
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 31 Март 2021, 15:58:51
По оптимальным настройкам zram https://www.linux.org.ru/forum/desktop/16105853?cid=16109427
Цитата
Лучшие практики такие. Если речь о недревних ядрах.

Во-первых, изучите оф док https://www.kernel.org/doc/html/latest/admin-guide/blockdev/zram.html

Далее по пунктам:
1) Load Module

Одного девайса достаточно. Раньше была мода загружать несколько, когда устройства были однопоточными.
2) Set max number of compression streams

Можно не менять ничего - по умолчанию число потоков сжатия равно числу потоков цп
3) Select compression algorithm

Начиная с 5.1 по дефолту lzo-rle - ускоренный lzo. Достаточно хорош. zstd имеет смысл брать если степень сжатия важнеее скорости сжатия.
4) Set Disksize

Там же:

    Note: There is little point creating a zram of greater than twice the size of memory since we expect a 2:1 compression ratio. Note that zram uses about 0.1% of the size of the disk when not in use so a huge zram is wasteful.

Не имеет смысла ставить disksize (макс размер несжатых данных) больше двух MemTotal. disksize, равный MemTotal - это отлично.

При большом disksize (> MemTotal), при попытке сжатия несжимаемых данных, устройство zram может занять всю память. Это нежелательное состояние умеет лечить юзерспейсный киллер nohang при выставлении zram_checking_enabled=True в его конфиге. С ним можнор не бояться больших дисксайзов.
5) Set memory limit: Optional

Это лимит на размер сжатых данных. При упирании в этот лимит журнал будет завален ошибками и возможно его повреждение. Не рекомендуется ставить выше нуля - дефолт оптимален.
Резюме

На современных ядрах лучше оставлять максимально дефолтные настройки.

disksize = 100% MemTotal достаточно безопасен. С nohang с включенной проверкой размера сжатых данным можно не бояться ставить disksize > MemTotal.

Демо сжатия несжимаемого с большим disksize: https://www.youtube.com/watch?v=o6GOz95sAnY - мошенник быстро убит.
Автор цитаты hakavlad.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 31 Март 2021, 16:46:13
спасибо+
оформил шапку темы. Норм?
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 31 Март 2021, 17:22:09
в fedora34 хотят отказаться от него в пользу systemd-oomd
https://www.opennet.ru/opennews/art.shtml?num=54871
Стабилизирован systemd-oomd
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 31 Март 2021, 17:43:47
palemoon открывается youtube
В качестве стресс-теста годится, но в практическом применении лучше воспроизводить в стороннем плеере, на таком ограниченном железе.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 31 Март 2021, 17:59:40
Так сильнее тормозит (мне показалось)
Да и сам сайт ютуба стал очень тяжелым, на слабом железе лучше переключать его на мобильную версию (расширение user agent).
Плюс, как я и сказал выше, смотреть ролики надо во внешнем плеере. И дефолтное разрешение должно стоять всяко не 1080, для mpv.
Это для PC, на боксах аппаратное ускорение и там нет проблем с воспроизведением в самом браузере, как я понял.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 31 Март 2021, 18:04:29
на боксах аппаратное ускорение и там нет проблем с воспроизведением в самом браузере, как я понял.
Нет. Как и на ПК в mpv менее ресурсоемко за счет HW акселерации, которая в этом году там появилась
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: betcher от 31 Март 2021, 20:24:21
Не смог в телефоне выделить нужное для цитаты :) Отвечаю sfs по поводу того, что лучше zram для rootfs или zram для свопа.
Эти вещи связаны только тем, что делят RAM.  Что лучше зависит, от прочих настроек.  В случае чистого режима, когда ченджез в рам прикинуть что выгоднее своп в zram, rootfs в zram или оба зрама даже не знаю как. Скорее всего надо под юзкейсы подбирать.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 01 Апрель 2021, 09:35:29
Что лучше зависит, от прочих настроек.  В случае чистого режима, когда ченджез в рам прикинуть что выгоднее своп в zram, rootfs в zram или оба зрама даже не знаю как. Скорее всего надо под юзкейсы подбирать.
Вот я и говорю
Мутная тема
У продвинутых юзеров, как правило с железом - норм. Т.е. все эти штуки не особо нужны
Прочие не смогут настроить.
Название: Re: Об особеностях работы утилиты kill.
Отправлено: krasnyh от 07 Июль 2021, 21:37:56
при возникновении необходимости запустить офис для написания платежек, машинка жестко вешалась, при попытке в начале закрыть браузер а потом запустить libreoffice, браузер также впадает в недопустимый 2-3-х минутный ступор а то и больше
У меня 4G оперативки, попробовал вызвать oom-killer (earlyoom), как делал здесь (https://forum.puppyrus.org/index.php?topic=22942.msg172052#msg172052). Забил память вкладками (1000 штук), запустил видео в mpv, открыл libreoffice... Так и не дождался, система оставалась работоспособна, полного 'замерзания' не было.  К тому же у меня нет свопа на физическом диске, только zram...

А все дело в ядре 000-kernel-5.11.0-pf2-1-pra_64.pfs и le9-patch, о котором писал здесь (https://forum.puppyrus.org/index.php?topic=23160.msg174269#msg174269).


Еще один отзыв, тоже с le9-patch, но ядро linux-xanmod:
Цитата
Ядро с данным патчем и стандартными настройками позволяет умеренно комфортно использовать:

    Firefox с 37 активными вкладками (все данные в RAM, без выгрузки, всё честно)
    Discord
    Skype
    LibreOffice с открытым документом
    Два PDF-файла (размером 14 и 47 мегабайт)

… на железе 2007 года, с Core2Duo E4600, 2 ГБ оперативной памяти DDR2@667 в одноканале и HDD такого же года! В zram при этом было под 3 ГБ данных: в 1.5 раза больше, чем оперативки физически (сжатие примерно в 3 раза).

Windows 10 на этом компьютере еле-еле запускается, не то, что работает. Нужно отметить, что и линукс без патча le9 еле шевелится, и swappiness не помогает: даже если его выставить в 200, файловый кеш всё равно активно вымещается.

Без патча при заполнении RAM всё начинает тормозить, прежде всего это выражается в значительных задержках (десятки секунд-несколько минут) при переключении приложений из-за низкой скорости чтения с HDD. С xanmod же можно переключиться из браузера в Discord так, будто ваш компьютер вобрал в себя всю свободную оперативку мира. Компьютер ни разу не приблизился к состоянию «зависания» (thrashing) — система временами замедлялась, но была полностью отзывчива.

С трудом верится, что такое примитивное действие (мягкая защита фиксированного количества случайного файлового кеша), реализованное несколькими строчками, так хорошо работает.
Лор (https://www.linux.org.ru/forum/general/16334308?cid=16408322)


p.s.
все дело в ядре 5.11.0-pf2-1-pra
В LFA/LFD уже 5.12.0-pf6-lf (https://forum.puppyrus.org/index.php?topic=21774.msg177928#msg177928).
Название: Re: Re: Об особеностях работы утилиты kill.
Отправлено: sfs от 08 Июль 2021, 10:54:49
В LFA/LFD уже 5.12.0-pf6-lf.
Любое лин. ядро можно к любому линуксу прикрутить. Т,е. с 5.12.0-pf6-lf все стало норм?
Название: Re: Re: Об особеностях работы утилиты kill.
Отправлено: krasnyh от 08 Июль 2021, 11:39:06
Любое лин. ядро можно к любому линуксу прикрутить.
?
Речь о ядрах с le9-patch:
Цитата
Патч принят в pf-kernel и linux-xanmod.
Лор (https://www.linux.org.ru/forum/general/16334308)
Название: Re: Re: Об особеностях работы утилиты kill.
Отправлено: DdShurick от 08 Июль 2021, 11:45:04
Любое лин. ядро можно к любому линуксу прикрутить.
Linux это и есть ядро. Правильно: "к любому дистрибутиву".
Название: Re: Re: Об особеностях работы утилиты kill.
Отправлено: krasnyh от 08 Июль 2021, 22:54:11
Цикл заметок (https://notes.valdikss.org.ru/linux-for-old-pc-from-2007/) от автора цитаты (https://forum.puppyrus.org/index.php?topic=23465.msg178137#msg178137) выше. По сути, это набор рекомендаций, как эффективно использовать систему в условиях ограниченного железа.

По ссылке есть образ LiveCD Mint XFCE 20.1 с le9 и zram, для теста. Используется ядро XanMod, плюс отключены защиты от аппаратных уязвимостей CPU Spectre и Meltdown: повышает скорость работы программ, ценой уменьшения безопасности трудно эксплуатируемых проблем (c).

Лор (https://www.linux.org.ru/forum/general/16334308?cid=16410301)
Название: Re: Re: Об особеностях работы утилиты kill.
Отправлено: sfs от 09 Июль 2021, 10:28:23
По ссылке есть образ LiveCD Mint XFCE 20.1
Скачался 35eb69f92894bda8dff546dac40d812f  linuxmint-20.2-xfce-oldpc-le9-08.07.2021-64bit.iso нерабочим
Название: Re: Re: Об особеностях работы утилиты kill.
Отправлено: krasnyh от 09 Июль 2021, 11:26:44
Закинул на https://file.puppyrus.org/users/pra64/pfs-portable-test/
2ce435ff4885e14a582d4ef790be004b

Можно потом перенести куда-нибудь, для тестирования новейших технологий, от которых здешние корифеи плюются. Это я про zram. :)
Название: Re: Re: Об особеностях работы утилиты kill.
Отправлено: krasnyh от 09 Июль 2021, 11:32:52
У меня он сейчас запущен в вирте. Выделенная память 1.5G, запущен крайний firefox 89.0.2 и я спокойно пользуюсь firefox в хосте. Раньше уже бы пришел oom-killer. Правда раньше не было и ядра с le9.
Скрин с вирта.


Да, еще в своей prar2103 заменил вчера earlyoom на nohang (https://github.com/hakavlad/nohang#nohang). У него настроек побольше и значит возможностей:
Цитата
nohang-desktop.conf предоставляет настройки по умолчанию, оптимизированные для использования на рабочем столе.
Название: Re: Re: Об особеностях работы утилиты kill.
Отправлено: sfs от 12 Июль 2021, 10:15:25
Можно потом перенести куда-нибудь, для тестирования новейших технологий
Лучше выдрать ядро и протестировать по сравнению с нашим pf
Название: Re: Re: Об особеностях работы утилиты kill.
Отправлено: krasnyh от 12 Июль 2021, 10:30:22
Ядро, это потом. Главное, чтобы все могли оценить работу системы в условиях малого количества памяти. Когда линукс остается работоспособным во всех режимах, даже когда 1G памяти, firefox и куча открытых вкладок. Думаю для многих это будет откровением.

А с учетом, что сейчас модная тема, ставить линукс на тв боксы и другие устройства, то le9+zram может стать 'палочкой-выручалочкой'. Ведь в таком случае не надо гнатся за объемами памяти. А устройства с 1G достаточно дешевы.


p.s. Здесь (https://forum.puppyrus.org/index.php?topic=23160.msg176516#msg176516) опыты sfs с размером zram, при ограничении памяти в 1G в вирте. Если еще добавить патч le9, пользоваться системой будет удобней.
Название: Re: Re: Об особеностях работы утилиты kill.
Отправлено: sfs от 12 Июль 2021, 11:02:02
Главное, чтобы все могли оценить работу системы в условиях малого количества памяти
Ну так :
1. Ставим https://mirror.yandex.ru/puppyrus/puppyrus-a64/kernel/new/5.12.0-pf6-lf/
2. zram (https://wiki.puppyrus.org/soft/porteus-initrd#zram)=150% (в моих дистрах обрабатывается /etc/rc.d/zram - в других можно запустить руками, установив в скрипте mem=150)
3. Отключены защиты от аппаратных уязвимостей CPU Spectre и Meltdown: повышает скорость работы программ ценой уменьшения безопасности трудно эксплуатируемых проблем. (https://notes.valdikss.org.ru/linux-for-old-pc-from-2007/##mint_configuration_difference) - не помню как сделать, у автора не нашел рецепта

На июль 2021 года, таких ядер два: XanMod и pf-kernel (с чуточку модифицированной версией le9).
Размер кеша регулируется настройкой sysctl vm.clean_low_kbytes. (https://notes.valdikss.org.ru/linux-for-old-pc-from-2007/#%D0%94%D0%B0%D0%B2%D0%BD%D1%8F%D1%8F%20%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0%20Linux%3A%20%D0%BF%D0%BB%D0%BE%D1%85%D0%B0%D1%8F%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%20%D0%BF%D1%80%D0%B8%20%D0%BD%D0%B5%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D1%82%D0%BA%D0%B5%20%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D0%B9%20%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8)
В 5.12.0-pf6-lf нет такого параметра

Потом выдираем ядро из linuxmint-20.2-xfce-oldpc-le9-08.07.2021-64bit.iso и повторяем эксперименты.
У меня под рукой нет 1-2гб ПК. На виртуалке - не знаю, насколько хорошая идея экспериментировать...
По итогу сделать вывод - какое ядро юзаем. Если XanMod - можно освежить версию 32 бит (скомпилить с этими патчами и aufs)
Название: Re: Re: Об особеностях работы утилиты kill.
Отправлено: krasnyh от 12 Июль 2021, 11:09:45
Отключение всех заплаток ядра разом (Meltdown, Spectre, L1TF, MDS) (https://www.linux.org.ru/forum/talks/14992924)
Название: Re: Re: Об особеностях работы утилиты kill.
Отправлено: krasnyh от 12 Июль 2021, 11:11:12
У меня под рукой нет 1-2гб ПК. На виртуалке - не знаю, насколько хорошая идея экспериментировать...
Нормально, именно для экспериментов на 'зависла/не зависла' система, израсходовав всю память.
Название: Re: Re: Об особеностях работы утилиты kill.
Отправлено: sfs от 12 Июль 2021, 11:13:35
Т.е. вы тестировали с каким ядром и параметрами? Прямо сильно довольны?
Название: Re: Re: Об особеностях работы утилиты kill.
Отправлено: krasnyh от 12 Июль 2021, 11:18:37
Ну да, я же писал выше. Изошку обкатал в вирте с ограничением 1.5G ram. А учитывая, что система с de-mint, плюс запущенный firefox 89.0.2, другой iso (с другим ядром и настройками) сразу же встал бы 'колом'.


upd.
система с de-mint
Перепутал с mate, :) там xfce. Mint, это название дистрибутива. )
Название: Re: Re: Об особеностях работы утилиты kill.
Отправлено: sfs от 12 Июль 2021, 11:26:58
На наши дистры эти параметры пробовали переносить?
Кстати pf-kernel provides the file pages protection (with own le9 implementation) by default since v5.10-pf2; (https://github.com/hakavlad/le9-patch) - т.е. и в моем 5.11-pf уже было
Название: Re: Re: Об особеностях работы утилиты kill.
Отправлено: krasnyh от 12 Июль 2021, 11:30:52
Дальнейшее развитие le9:
v5.13-pf2 (https://gitlab.com/post-factum/pf-kernel/-/tags/v5.13-pf2)
Цитата
* the latest BBRv2 fix has been applied
* all the extra BFQ patches have been dropped due to kernel panic
* the potential igb netpoll fix has been reverted as useless
* the anonymous mappings protection under memory pressure has been introduced
Название: Re: Re: Об особеностях работы утилиты kill.
Отправлено: sfs от 12 Июль 2021, 11:40:50
the anonymous mappings protection under memory pressure has been introduced
Что это? У меня так часто компилить в планах не было. Кроме вас, пока не наблюдаю восторженных юзеров
Название: Re: Re: Об особеностях работы утилиты kill.
Отправлено: krasnyh от 12 Июль 2021, 11:45:01
Ну в чем проблема, запустить iso, что давал выше, выставить память в вирте на 1G и запустить все что можно и нельзя - firefox.... всевозможные другие приложения.

И система будет продолжать работать. Разве это не подобно чуду? Всегда же считалось такое невозможным. Главное взять и попробовать, а не заниматься теорией. :)


iso, хеш 2ce435ff4885e14a582d4ef790be004b
торрент (https://notes.valdikss.org.ru/linux-for-old-pc-from-2007/#%D0%94%D0%B0%D0%B9%D1%82%D0%B5%20%D1%83%D0%B6%D0%B5%20%D0%BF%D0%BE%D0%BF%D1%80%D0%BE%D0%B1%D0%BE%D0%B2%D0%B0%D1%82%D1%8C!%20%D0%A1%D1%81%D1%8B%D0%BB%D0%BA%D0%B8%20%D0%BD%D0%B0%20%D1%81%D0%BA%D0%B0%D1%87%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)
Название: Re: Re: Об особеностях работы утилиты kill.
Отправлено: sfs от 12 Июль 2021, 11:49:28
На наши дистры эти параметры пробовали переносить?
Название: Re: Re: Об особеностях работы утилиты kill.
Отправлено: krasnyh от 12 Июль 2021, 11:52:32
Код
live@roll2103 ~ % uname -r
5.12.0-pf6-lf
Т.е. дефолтом le9. Ну, zram я использую уже давно, о чем не раз писал. Защиты (Spectre и Meltdown) не отключал. О каких еще настройках идет речь?
Название: Re: Re: Об особеностях работы утилиты kill.
Отправлено: sfs от 12 Июль 2021, 12:54:42
Т.е. здесь (https://forum.puppyrus.org/index.php?topic=23465.msg178188#msg178188) полноценный рецепт счастья для любого дистра? Прошу остальных протестировать
Название: Re: Re: Об особеностях работы утилиты kill.
Отправлено: krasnyh от 12 Июль 2021, 13:09:29
the anonymous mappings protection under memory pressure has been introduced
Что это?
Лор1 (https://www.linux.org.ru/forum/general/16334308?cid=16410414)
Лор2 (https://www.linux.org.ru/forum/general/16334308?cid=16414628)
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 12 Июль 2021, 16:29:48
Перенес в эту тему про le9-patch (теперь mglru)
Провел эксперимент : lfd10-21.05-x86_64.iso в virtualbox c 1gb RAM. Гружу по дефолту OVS. Запускаю в google-chrome 10 вкладлк с нашим форумом
1. Без zram (https://wiki.puppyrus.org/soft/porteus-initrd#zram) на 8й вкладке - вкладки падают. На обоих ядрах одинаково
2. zram=150% Ядро 4.4pf (без le9-patch). 10 вкладок открываются, но переключение между ними неюзабельно долгое
3. zram=150% Ядро 5.11pf (с le9-patch). Все ок.
Выводы : zram+le9-patch дают волшебный эффект на ПК с малым к-вом RAM
5.12pf тоже с le9 (не проверял, но не сомневаюсь)
Усилить эффект на неслабых cpu можно использованием в zram большей компрессии типа zstd

Для i686  ядер с le9-patch у нас нет.  И вряд ли у кого есть
le9db*-5.10 patches may be correctly applied to vanilla Linux 5.10—5.13. (https://github.com/hakavlad/le9-patch) , т.е.как я понял к более старым ядрам не прикрутить. Есть ли смысл компилить.... Свежия ядра все равно на совсем старом железе не работают
Автор статьи пишет (https://notes.valdikss.org.ru/linux-for-old-pc-from-2007/##mint_configuration_difference):
Цитата
более слабые 32-битные не подойдут для нынешних веб-сайтов не в силу своей архитектуры, а из-за производительности. 64-битные процессоры массово появились в 2006-2007 годах.
1 ГБ RAM — абсолютный минимум для терпеливых. 2 ГБ и более значительно расширят возможности многозадачности и повысят общую скорость

Провел эксперимент : ddr01-21.06-i686.iso в virtualbox c 1gb RAM. Гружу по дефолту LXDE-gtk2. le9-patch в чистом виже нет. Запускаю в google-chrome 20 вкладок с нашим форумом (20 вместо 10 в x86_64 получается, т.к. тут DE ест почти в 2 раза меньше RAM, т.е. проблемы начинаются когда 700 из 1000мб заняты)
1. Без zram на 20й вкладке - вкладки не падают, но переключение между ними неюзабельно долгое. На обоих ядрах одинаково
2. zram=150% Все значительно лучше. Вкладок можно открыть больше и переключение не тормозит. На 5.1 ядре лучше чем на 4.4 : быстрее происходит перетекание занятой RAM в zswap. Когда и своп заполнен на примерно 700мб - падают вкладки
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 12 Июль 2021, 16:41:10
Еще не забыть включить планировщик дефолтно на этих ядрах. А не повесить этот процесс на пользователя. ) Всяко добавится производительности.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 12 Июль 2021, 17:27:40
Запускаю в google-chrome 10 вкладок с нашим форумом
zram=150% Ядро 5.11pf (с le9-patch). Все ок.
Для полноты эксперимента и наглядности, неплохо бы забить память тем количеством вкладок, когда больше уже невозможно комфортно пользоваться системой.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 12 Июль 2021, 17:30:33
Подтвердите кто-нибудь результат эксперимента на реальном железе и ядре 5.12pf - добавлю zram=150% в исо в пункт "для слабого железа"
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 12 Июль 2021, 18:04:10
Эксперимент, подобный как у sfs (https://forum.puppyrus.org/index.php?topic=23160.msg178228#msg178228), тоже пройдены все этапы от худшего к лучшему. Более подробно, чем в статье (https://notes.valdikss.org.ru/linux-for-old-pc-from-2007/#%D0%A2%D0%B5%D1%81%D1%82%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%3A%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%20%D0%9E%D0%A1):
https://github.com/hakavlad/le9-patch/issues/4#issuecomment-877706577
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 13 Июль 2021, 12:39:25
Для полноты эксперимента и наглядности, неплохо бы забить память тем количеством вкладок, когда больше уже невозможно комфортно пользоваться системой.
Проверил на прар2103 с ядром 5.12pf-lf - все ок , как и выше. На 54й вкладке zram-swap заполнился и вкладки упали (что соответственно привело к освобождению памяти и по F5 упавшие вкладки можно восстановить). Т.е. не надо мудрить с oom-killer и onetab (https://forum.puppyrus.org/index.php?topic=21148.0)  ;D

Подумал - а чем плохо во все конфиги прописать zram=150% Минус только в том что на сжатие тратится проц. Ну так это произойдет только тогда, когда реальной памяти станет не хватать. В эксперименте выше система даже не зависла и даже браузер перегружать не пришлось. Т.е. минусов не вижу ...
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: arcad от 13 Июль 2021, 18:26:57
ну так совсем другое дело, и с 1,5 Г можно работать  :)
причем автоматом подключила swapfile на 4 Г и добавила своих 2 Г, шайтан однако. ;)
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 14 Июль 2021, 02:02:56
zram и zswap или что то ещё,вместе? (https://www.linux.org.ru/forum/general/16233491)
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 14 Июль 2021, 02:49:02
zram=150%
Алгоритм lzo-rle считается более быстрым, но zstd жмет сильнее.
Цитата
Начиная с Linux 5.1 дефолт lzo-rle. Хороший дефолт. zstd - альтернатива - сжимает сильнее, но, возможно, медленнее.
https://www.linux.org.ru/forum/general/16233491?cid=16233653
Желательно дефолтом lzo-rle. Скрин.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 14 Июль 2021, 09:46:13
подключила swapfile на 4 Г и добавила своих 2 Г
Повторили мой эксперимент на железе? Какая конфигурация?
Какой своп заполняется в первую очередь?
Автор патча le9 пишет (https://www.linux.org.ru/forum/general/16233491):
Цитата
Если у тебя HDD - сжатие мастхэв.
zram позволяет избежать своппинга на медленный диск.
Используй zram достаточного размера. Своп на диске лучше выкл, если не нужна гибернация.
hakavlad
Т.е. если zswap до конца постоянно не заполняется - лучше медленный своп на носителе откл
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 14 Июль 2021, 10:10:38
Желательно дефолтом lzo-rle
У меня в скрипте /etc/rc.d/zram выставлено lz4. наверное вообще это убрать. Пусть остается дефолт ядра. В 512пф = lzo-rle
Или добавит параметр ядра zswap= c этим параметром...
Есть мысли про выставление еще каких-то параметров?
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: arcad от 14 Июль 2021, 10:50:14
Повторили мой эксперимент на железе? Какая конфигурация?
Какой своп заполняется в первую очередь?
Мой эксперимент на железе длится уже давно, все системы 64 бит и даже DDR1, в рeжиме браузер + youtube заканчивались примерно одинаково - зависом с такой  RAM 1,5Г. На HDD (других скоростных носителей нет) организован swapfile 4Г, при переходе 30% RAM , системы начинают тупить и встает выбор : проверить свои нервы или рестарт, ну или конкретный завис. Более менее работает PRA-retro.
Поставил Prar21.03-07, OVS и другие с параметром загрузки zram=150% , создает swap 6,5Г сама автоматом, но в некоторых системах (не помню) 2Г и 1Г с чем связяно - незнаю.
Система отзывчива работоспособна  даже при RAM < 10%.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 14 Июль 2021, 11:10:22
Поставил Prar21.03-07
Волшебный эффект связан только с ядром. На слабом железе x86_64 лучше юзать LFD10 c ядром 512-pf-lf
i686 - наверное нужны pf ядра свежее - не тестировал
с параметром загрузки zram=150% , создает swap 6,5Г сама автоматом, но в некоторых системах (не помню) 2Г и 1Г с чем связяно - незнаю.
Какая-то лажа у вас. zswap создается во всех моих дистрах скриптом /etc/rc.d/zswap. Разбирайтесь откуда у вас другие цифры
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: hakavlad от 14 Июль 2021, 15:47:04
Приветики-пистолетики. Какой отвратительный набор капч мне пришлось разгадывать при регистрации! Отвратительный опыт! Архитектура не важна, на x86_32 все ок должно быть. Бэкпорты старой версии (le9cb) для 5.4 и 4.19 https://github.com/hakavlad/le9-patch/tree/main/obsolete/le9cb_patches

Новые бэкпорты для le9db скоро также выйдут.

Спрашивайте ответы.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: hakavlad от 14 Июль 2021, 15:54:59
Какой своп заполняется в первую очередь?
тот, у которого prio больше. Обычно zram разделам дают больший приоритет.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: hakavlad от 14 Июль 2021, 15:56:40
Для i686  ядер с le9-patch у нас нет.  И вряд ли у кого есть
В чем проблема собрать?
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: hakavlad от 14 Июль 2021, 15:59:14
Лучше выдрать ядро и протестировать по сравнению с нашим pf
Что такое ваше pf? какие у вас ядра, какие версии, какие патчи?
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 14 Июль 2021, 15:59:46
приветики-пистолетики
Приветствую! Да это же сам автор патча. Сразу спасибо и +
Давно таких чудес не доводилось видеть как с Вашим le9
отвратительный набор капч мне пришлось разгадывать при регистрации!
Зато спама почти нет. Оно того стоит
на x86_32 все ок должно быть.
Может где-то и скомпиленное 32  ядро есть с le9? Мы не нашли
бэкпорты старой версии длят 5.4 и 4.19 https://github.com/hakavlad/le9-patch
Нашел там только https://github.com/hakavlad/le9-patch/blob/main/le9db_patches/le9db-5.10.patch
Там только 1 бранч... Тыкните пальцем в самый старый le9. По опыту - на совсем некрожелезе даже не все 5х ядра идут
новые бэкпорты для le9db скоро также выйдут
Может выделить про le9 отдельной темой или разделом? Для анонсов и т.п.

Не знаете в чем заключается "своя реализация" le9 в pf? Мы тестировали именно pf
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: hakavlad от 14 Июль 2021, 16:01:32
У меня так часто компилить в планах не было
Свежедобавленная защита анонимной памяти вам скорее всего не понадобится.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: hakavlad от 14 Июль 2021, 16:03:22
Linux это и есть ядро. Правильно: "к любому дистрибутиву".
Linux - семейство операционных систем.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: hakavlad от 14 Июль 2021, 16:04:17
Может где-то и скомпиленное 32  ядро есть с le9? Мы не нашли
Не видел таких.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: hakavlad от 14 Июль 2021, 16:04:52
Не знаете в чем заключается "своя реализация" le9 в pf?
знаю)
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 14 Июль 2021, 16:05:22
тот, у которого prio больше.
Это понятно. Было не ясно что выставлено у автора поста
В чем проблема собрать?
В том что я тут один собиральщик и не считаю, что сильно в этом разбираюсь
Что такое ваше pf? какие у вас ядра, какие версии, какие патчи?
https://mirror.yandex.ru/puppyrus/puppyrus-a64/kernel/new/5.12.0-pf6-lf/PKGBUILD.tar.xz
Буду благодарен за советы и правки
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 14 Июль 2021, 16:13:13
Есть мысли про выставление еще каких-то параметров?
Хотелось бы от автора услышать рекомендации для пк с 1,2,4 RAM
Еще интересно как zram+le9 взаимодействуют с uksm вообще и pf реализацией в частности
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: hakavlad от 14 Июль 2021, 16:25:26
я тут один собиральщик и не считаю, что сильно в этом разбираюсь
так а я совсем не разбираюсь
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: hakavlad от 14 Июль 2021, 16:29:03
Еще интересно как zram+le9 взаимодействуют с uksm вообще и pf реализацией в частности
думаю никакого особого взаисмодействия нет: zram - это одно, le9 - второе, uksm - третье, и никто никому не мешает.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: hakavlad от 14 Июль 2021, 16:30:25
Может выделить про le9 отдельной темой или разделом? Для анонсов и т.п.
не вижу в этом смысла, особых анонсов не планируется
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: hakavlad от 14 Июль 2021, 16:31:26
Там только 1 бранч... Тыкните пальцем в самый старый le9
https://github.com/hakavlad/le9-patch/blob/main/obsolete/le9cb_patches/le9cb0-4.19.patch
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: hakavlad от 14 Июль 2021, 16:32:13
насколько глубоко бэкпортировать? 4.19? 4.14?
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: hakavlad от 14 Июль 2021, 16:55:05
Не знаете в чем заключается "своя реализация" le9 в pf?

Для пользователя отличия следующие:

- выше вероятность ошибок у pf версии патча. Возможные ошибки:
https://github.com/hakavlad/le9-patch/issues/6
https://github.com/hakavlad/le9-patch/issues/5

- у pf жесткость мягкого порога (vm.unevictable_kbytes_low) зависит от своппинес - с понижением swappiness защита ухудшается. У le9db жесткость мягкой защиты кэша (vm.clean_low_kbytes) не зависит от swappiness
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: hakavlad от 14 Июль 2021, 16:59:53
Возможные ошибки:
пример https://www.linux.org.ru/news/kernel/16052362?cid=16169325

Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 14 Июль 2021, 17:20:28
у pf жесткость мягкого порога (vm.unevictable_kbytes_low) зависит от своппинес - с понижением swappiness защита ухудшается.
В наших сборках по умолчанию vm.swappiness=60. Впрочем это значение дефолтно почти во всех дистрибутивах. У меня 200, но научно я не смогу обосновать свой выбор. )
Код
live@roll2103 ~ % sudo sysctl -a | grep swap
vm.swappiness = 200
live@roll2103 ~ % uname -r                 
5.12.0-pf6-lf

Долгое время у пользователей не было понимания, что такое swappiness и какое значение правильней. Считалось, что при выставлении в ноль, свап выключался.
  Недавно наткнулся на переведенную статью Что такое Swappiness в Linux? (и как это изменить) (https://gadgetshelp.com/linux/chto-takoe-swappiness-v-linux-i-kak-eto-izmenit/), утверждающую, что swappiness это всего лишь уровень баланса между файловыми страницами и анонимными. Если, конечно, я все правильно понял.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: hakavlad от 14 Июль 2021, 17:29:02
swappiness это всего лишь уровень баланса между файловыми страницами и анонимными
Да. От swappiness зависит какие страницы будет выталкиваться при нехватке памяти - файловые или анонимные. Высокий swappiness дает эффект, подобный le9 - защищает кэш файлов.

Высокий своппинес идеален тогда, когда система на медленном усторойстве (HDD), а устройство подкачки - быстрое (zram). Смотрите последнюю документацию:

For in-memory swap, like zram or zswap, as well as hybrid setups that have swap on faster devices than the filesystem, values beyond 100 can be considered. For example, if the random IO against the swap device is on average 2x faster than IO from the filesystem, swappiness should be 133 (x + 2x = 200, 2x = 133.33).
https://github.com/torvalds/linux/blob/master/Documentation/admin-guide/sysctl/vm.rst#swappiness
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 14 Июль 2021, 17:30:50
Кстати, post-factum писал на лоре, что у него swappiness 100. Видно поэтому у него все работает безглючно с собственной версией le9. А проблема у других пользователей, это проблема других пользователей...  :)

Цитата
swappiness=100

Не представляю чтобы было иначе. У меня везде так.
Ссылка (https://www.linux.org.ru/news/kernel/16052362?cid=16086791)
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 14 Июль 2021, 17:32:16
насколько глубоко бэкпортировать? 4.19? 4.14?
В нашей популярной в народе сборке для древнего железа на дебиан9  2 ядра : 4.4 и 5.1
Я так понимаю, Ваш https://github.com/hakavlad/le9-patch/blob/main/obsolete/le9cb_patches/le9cb0-4.19.patch на pf исходники  не пойдет?
Хотя uksmd (т.е. собственной pf реализации только с 5.1) Т.е. на 4 только uksm, который и на ванильное ядро есть
Не хочется вас зря напрягать. Бэкпортировать сложно?

Прошу форумчан проверить в DDR01 у всех, у кого не работает на 5.1. ядре работает на https://mirror.yandex.ru/puppyrus/puppyrus-a/kernel/new/4.19.2-pf5/ ?
По итогу опроса, может скомпилю 4.19 le9 uksm
Замена ядра (https://wiki.puppyrus.org/soft/kern-change)
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: hakavlad от 14 Июль 2021, 17:32:49
Считалось, что при выставлении в ноль, свап выключался
Возможность своппинга зависит также от vm.watermark_scale_factor.

At 0, the kernel will not initiate swap until the amount of free and file-backed pages is less than the high watermark in a zone.
https://github.com/torvalds/linux/blob/master/Documentation/admin-guide/sysctl/vm.rst#swappiness

This factor controls the aggressiveness of kswapd. It defines the amount of memory left in a node/system before kswapd is woken up and how much memory needs to be free before kswapd goes back to sleep.
The unit is in fractions of 10,000. The default value of 10 means the distances between watermarks are 0.1% of the available memory in the node/system.
https://github.com/torvalds/linux/blob/master/Documentation/admin-guide/sysctl/vm.rst#watermark_scale_factor

Если выставить vm.watermark_scale_factor=1000, то своппинг будет отлично идти даже при 0 swappiness.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 14 Июль 2021, 17:36:42
Хотелось бы от автора услышать рекомендации для пк с 1,2,4 RAM
У нас в основном любители, которые  любят пошаговые инструкции
Нам бы как-то попроще рекомендации получить  ;)
От типа браузера как-то le9 зависит или он более низкоуровневый?
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: hakavlad от 14 Июль 2021, 17:37:51
Бэкпортировать сложно?
Нет, полчаса делов на неспешный перенос строк. Это если не тестировать результат.

Можно бэкпортировать без документации - так применимость патча должна быть шире, ибо в документации (vm.rst) периодически  добавляют-удаляют ключи, что может ломать совместимость иногда.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 14 Июль 2021, 17:39:28
Пускай народ как-то ответит . Тогда уже и попросим вас
Прошу форумчан проверить в DDR01 у всех, у кого не работает на 5.1. ядре работает на https://mirror.yandex.ru/puppyrus/puppyrus-a/kernel/new/4.19.2-pf5/ ?
По итогу опроса, может скомпилю 4.19 le9 uksm
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: hakavlad от 14 Июль 2021, 17:43:18
От типа браузера как-то le9 зависит или он более низкоуровневый?
Не понимаю вопроса.

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

Можно спорить об оптимальных значениях для vm ручек - какими они должны быть для разных размеров памяти системы и при разных нагрузках.

У меня deb9, и 200М резервов достаточно для комфорта.

На системах со snap/flatpak выше потребность в резервировании кэша, так как такие пакеты приносят свои либы вместо использования системных, что повышает потребность в защите большего объема кэша файлов.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: hakavlad от 14 Июль 2021, 17:47:48
вот это поворот https://www.phoronix.com/scan.php?page=news_item&px=le9-Linux-Low-RAM
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 14 Июль 2021, 17:53:00
    От типа браузера как-то le9 зависит или он более низкоуровневый?
Не понимаю вопроса.
Выше я тестировал на хроме. Волшебный эффект le9 будет с любыми прогами?
Короче хотелось бы услышать ваши рекомендации для старого железа
https://www.phoronix.com/scan.php?page=news_item&px=le9-Linux-Low-RAM
Поздравляю с международным признанием! Даешь в mainline kernel !
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 14 Июль 2021, 17:54:28
На системах со snap/flatpak выше потребность в резервировании кэша, так как такие пакеты приносят свои либы вместо использования системных, что повышает потребность в защите большего объема кэша файлов.
У нас используется "портированный софт" :что-то подобное с несистемными либами в своей реализации.

200М резервов достаточно для комфорта.
Имеется ввиду zswap такого размера?
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: hakavlad от 14 Июль 2021, 18:09:38
Имеется ввиду zswap такого размера?
размер защищаемого объема кэша, то есть vm.unevictable_kbytes_low/min
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: hakavlad от 14 Июль 2021, 18:48:40
свежий le9db для 5.4 https://github.com/hakavlad/le9-patch/blob/main/le9db_patches/le9db-5.4.patch
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 14 Июль 2021, 19:43:42
свежий
Т.е. улучшения продолжаются? Что означают 2 букбы после le9
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: hakavlad от 14 Июль 2021, 20:21:31
алгоритм тот же. Свежий в смысле le9db подготовлен для 54
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: hakavlad от 14 Июль 2021, 20:23:11
Что означают 2 букбы после le9
le9 - это идея первого автора - Маркуса Линснера. Он называл патчи le9b, le9g, le9h и т д.

Я продолжаю в том же духе, просто ставлю 2 буквы. Особого смысла последние буквы не несут.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: hakavlad от 14 Июль 2021, 20:25:33
Т.е. улучшения продолжаются?
улучшил все что мог, новых идей нет. - С апреля фактически нет развития, до этого шли тесты и развитие.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: hakavlad от 17 Июль 2021, 13:49:52
le9db для 4.19 https://raw.githubusercontent.com/hakavlad/le9-patch/main/le9db_patches/le9db-4.19.patch
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 19 Июль 2021, 09:15:34
Т.е. чем больше буквы тем свежее патч? Т.е. вы обновили самый свежий для 4.19 ядра
Хотелось бы услышать рекомендации по выбору размера zswap в % по отношению к физической RAM. Особенно для 1-4 RAM , домашнее применение - браузер+медиаплеер

Где главный канал анансов про le9?
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: hakavlad от 19 Июль 2021, 17:16:28
>Где главный канал анансов про le9?

следите за коммитами https://github.com/hakavlad/le9-patch/commits/main

>Т.е. чем больше буквы тем свежее патч?

Не обязательно, но обычно да. le9db - последний стабильный алгоритм. Хотя есть версия с возможностью защиты анонимной памяти (vm.anon_min_kbytes), но эта версия не опубликована в репозитории.

>Хотелось бы услышать рекомендации по выбору размера zswap в % по отношению к физической RAM

Не могу сказать точно. Я предпочитаю большие проценты. Я не большой эксперт в zswap.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: hakavlad от 24 Июль 2021, 18:19:09
Для 4.14 https://github.com/hakavlad/le9-patch/blob/main/le9db_patches/le9db-4.14.patch
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 27 Июль 2021, 11:27:49
Провел эксперимент : ddr01-21.06-i686.iso в virtualbox c 1gb RAM
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 27 Июль 2021, 12:02:43
2. zram=150% Все значительно лучше. Вкладок можно открыть больше и переключение не тормозит. На 5.1 ядре лучше чем на 4.4 : быстрее происходит перетекание занятой RAM в zswap.
Zswap это zswap, а zram это zram. Не надо придумывать своих определений, они уже и так есть.
Думаю из-за этой путаницы в определениях и не был получен нормальный ответ на вопрос:
Хотелось бы услышать рекомендации по выбору размера zswap в % по отношению к физической RAM
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 27 Июль 2021, 12:20:34
le9-patch в чистом виже нет
Непонятна фраза. Так в эксперименте ядра с le9 или нет?
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 28 Июль 2021, 10:41:25
Zswap это zswap, а zram это zram
Да . Был не прав.
zram vs zswap (https://ru.wikipedia.org/wiki/ZRam#%D0%9E%D1%82%D0%BB%D0%B8%D1%87%D0%B8%D0%B5_%D0%BE%D1%82_zswap)
Правильно будет называть по имени используемого модуля ядра. Т.е. то  что я писал выше правильно называть "swap in zram". Придумал сам. Может есть общепризнанное название?
Подробнее разбирали здесь (https://forum.puppyrus.org/index.php?topic=21154.msg150079#msg150079)
Кстати в википедии:
Цитата
В отличие от zswap, zram-устройство, использующееся в качестве раздела подкачки страниц памяти, до версии ядра 4.14 не имело возможности выгружать страницы памяти в какое-либо резервное хранилище
В моих экспериментах на 4.4. ядре все хуже
А вот это что-то вообще не понял...
Цитата
Начиная с версии ядра 4.14, пользователь имеет возможность указать для zram-устройства любое другое блочное устройство в качестве резервного хранилища, в которое могут выгружаться несжимаемые/неиспользуемые страницы памяти. При этом выгрузка страниц в резервное хранилище происходит в несжатом виде и, в отличие от zswap, только по команде администратора системы
В любом случае получается что на ядрах <4.14 с zram ловить нечего
Т.е. вопрос о необходимости компиляции i686 ядра с le9 остается открытым
Для 4.4 патча нет и вряд ли будет
Для 4.14 есть, но нет инфы пойдет ли 4.14 на Пк , где 5.1 не работает
По опыту на форуме обратной связи не дождаться. Поставлю в исо DDR https://mirror.yandex.ru/puppyrus/puppyrus-a/kernel/new/4.14.105-pf10/ вместо 4.4 - вот и выясним

Так в эксперименте ядра с le9 или нет?
На  5.1pf x86_64 ядре есть своя (от pf) реализвция le9
На остальных ядрах из моего эксперимента le9 в чистом, современном виде  нет. Про какие-то ранние аналоги le9 из состава pf патча (который везде есть) лично мне ничего не известно
Вот что нашел (https://habr.com/ru/post/172137/):
Цитата
Изначально разработка велась под названием compcache, и первые рабочие версии были сделаны для ядра 2.6.26(Июль 2008)
Начиная с декабря 2009 года и ядра 2.6.33 оно доступно в ядре, в разделе Staging. Для более старый ядер патчи все еще доступны на вышеуказанном сайте.
В ядре 3.8 должно было быть вынесено из Staging, но это не произошло.

Ну и главный вывод : zram=150% c le9 точно, но и без него хуже не сделает на любом железе.
Добавлю во все исо в пункт "для слабого" железа и в вики (https://wiki.puppyrus.org/puppyrus/grub?&#%D0%BC%D0%B0%D0%BB%D0%BE_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8_ram)
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 28 Июль 2021, 12:05:26
А вот это что-то вообще не понял...
Цитата
writeback

С CONFIG_ZRAM_WRITEBACK, zram может записывать простаивающую/несжимаемую страницу к резервному хранению, а не к хранению в памяти. Чтобы использовать эту функцию, администратор должен настроить устройство резервного копирования с помощью:

echo /dev/sda5 > /sys/block/zramX/backing_dev

перед установкой размера диска. На данный момент он поддерживает только раздел.
https://www.kernel.org/doc/html/latest/admin-guide/blockdev/zram.html#optional-feature
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 28 Июль 2021, 13:16:22
Пример (https://www.linux.org.ru/forum/admin/16261387?cid=16263422) скрипта создания устройства /dev/zram0 с backing_dev. Нужна поддержка CONFIG_ZRAM_WRITEBACK в ядре.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 28 Июль 2021, 14:09:27
Нужна поддержка CONFIG_ZRAM_WRITEBACK в ядре.
В наших пф есть?
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 28 Июль 2021, 14:19:04
А как посмотреть, если нет /proc/config.gz? Не так давно обращал на это внимание, что было бы полезно посмотреть сразу в терминале, а не искать конфиг по форумному серверу. Вроде эти параметры:
Цитата
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 28 Июль 2021, 14:22:00
Но если нет backing_dev в /sys/block/zram0/, а там его нет, значит без поддержки.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 28 Июль 2021, 14:28:47
было бы полезно посмотреть сразу в терминале
Надо редко. В репе конфиг выложен.
Если включить - возможно ресурсы будет жрать
без поддержки.
Я бы вряд ли стал юзать...
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 28 Июль 2021, 15:15:18
Нужна поддержка CONFIG_ZRAM_WRITEBACK в ядре.
В наших пф есть?
Кстати, в дефолтном (https://build.opensuse.org/package/view_file/home:post-factum:kernels/linux-pf-generic/config_arch_generic?expand=1) конфиге pf он включен.

Но я не предлагаю как-то разбираться с backing_dev, добавлять его в настройки zram и т.д. и т.п. Изначально я отвечал на это сообщение:
А вот это что-то вообще не понял...
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 28 Июль 2021, 15:23:21
в дефолтном конфиге pf он включен.
Ну так там стандартное большое ядро .
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 02 Август 2021, 17:27:40
для арчлинукс реализацию патча le9 легче всего “получить” от ядра linux-zen. (https://archlinux.org.ru/forum/topic/20297/?page=8#post-247745)
Посмотрел - для i686 https://www.archlinux32.org/packages/i686/testing/linux-zen/ в 5.13 есть. В 5.12 еще нет. Надо бы протестировать...
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 02 Август 2021, 19:06:46
https://github.com/hakavlad/le9-patch#how-to-get-it
Цитата
    pf-kernel provides the file pages protection (with own le9 implementation) by default since v5.10-pf2;
    linux-xanmod provides the file pages protection (with le9db patch) by default since 5.12.3-xanmod1 (commit) and 5.10.36-xanmod1 (commit).
    zen-kernel provides le9 since v5.12.18 (commit). Cache protection may not work by default due to mg-LRU enabled.


Выкладывал ранее эту информацию, но еще не было zen-kernel.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 10 Август 2021, 09:39:45
https://aur.archlinux.org/packages/zram-swap-git/
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: hakavlad от 15 Август 2021, 19:39:37
вышла новая линейка с возможностью защиты анонимной памяти
https://github.com/hakavlad/le9-patch/tree/main/le9eb_patches
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 16 Август 2021, 10:00:16
Цитата
Патчи le9eb предоставляют три ручки sysctl со значениями 0 и не защищают рабочий набор по умолчанию
А раньше все работало по дефолту? Или это дополнительный функционал?
Как правильно подобрать эти параметры?
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: hakavlad от 21 Август 2021, 22:11:12
Последний писк моды: le9ec https://github.com/hakavlad/le9-patch/tree/main/le9ec_patches

Доступны версии для Linux от 4.9 до 5.14.

Вообще 4.9 в целом хуже обрабатывает нехватку памяти, на более новых версиях ситуация значительно лучше. Даже с le9 не удается достичь отзывчивости, которую дают более новые ядра - 4.14 и выше.

Три ручки (доступна защита как файл кэша, так и анонимной памяти), улучшена документация. Теперь swappiness=0 не ломает мягкую защиту кэша.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: hakavlad от 21 Август 2021, 22:13:50
А раньше все работало по дефолту? Или это дополнительный функционал?
Патч предлагает CONFIG опции с нулевыми значениями. Юзер может собрать с любыми другими, или менять их налету через sysctl. Обычно (zen, pf, xanmod) собирают с мягкой защитой кэша от 256 до 512 МБ. Хотя по-моему 512 многовато (это дефолт linux-xanmod)
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 22 Август 2021, 19:49:52
Патч предлагает CONFIG опции с нулевыми значениями.
С нулями он вообще не работает? Как эти значения подобрать?
Скомпилил ядрo pf 4.14 (https://forum.puppyrus.org/index.php?topic=23523.msg178777#msg178777) с Вашим патчем. Патч встал норм
На древнем пк 2005 года (1 ядро pentium m 1500 mhz 500mb RAM) без zram palemoon вообще не стартовал. С zram открывает бодро 5 вкладок. Медленно до 12
Заметил, что при занятии ram + swap in zram = физическая RAM начинаются тормоза
Т.е. есть ли смысл в swap in zram= больше 30 % RAM... Если добавить сврп на диске - как тольео он задейструется = тормоза.
Эксперименты с таким железом скорее носят научный характер. Но зато помогают понять как это работает
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 23 Август 2021, 11:53:27
512 многовато (это дефолт linux-xanmod)
в patch-5.13.0-xanmod1 нашел:
+CONFIG_CLEAN_LOW_KBYTES=524288
+CONFIG_CLEAN_MIN_KBYTES=0
В конфигах zen, pf вообще не нашел таких параметров
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 23 Август 2021, 12:08:15
pf вообще не нашел таких параметров
Смотреть в патче (https://github.com/pfactum/pf-kernel/compare/v5.13...v5.13-pf6.diff). Наверно это:
Цитата
+unevictable_file_kbytes_low
+===========================
+
+Keep some file pages still mapped under memory pressure to avoid potential
+disk thrashing that may occur due to evicting running executables code.
+This implements soft eviction throttling, and some file pages can still
+be discarded.
+
+Setting it to 0 effectively disables this feature.
+
+The default value is 256 MiB.
+
+
+unevictable_file_kbytes_min
+===========================
+
+Keep all file pages still mapped under memory pressure to avoid potential
+disk thrashing that may occur due to evicting running executables code.
+This is the hard limit.
+
+Setting it to 0 effectively disables this feature.
+
+The default value is 128 MiB.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 28 Август 2021, 11:47:37
zram+le9-patch дают волшебный эффект на ПК с малым к-вом RAM
Еще чуть-чуть примеров "волшебного эффекта":
Цитата
...своп на zram и zram disksize в три раза больше MemTotal и alg=zstd.

Вот пример: 2 гига памяти, и 6 улетело в своп. То есть zstd позволяет сжатие в несколько раз при сборке. Так что можно делать своп даже в три раза больше оперативы.
Скриншот: https://imgur.com/a/vY9qrWz

Это сборка ядра 514 в 128 потоков, емнип, на двух гигах оперативы.

При этом: сохранялась отзвычивость, спокойно сделал скриншот на пике нагрузки, система ни разу не зависала.
Лор (https://www.linux.org.ru/forum/general/16497110?cid=16497721)
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: betcher от 28 Август 2021, 17:41:58
Опасненько размер zram делать больше ram, мне кажется. Случается что данные не жмутся, например если они уже жатые. Что случится если смонтировать папку в tmpfs и забивать ее архивами? По мере заполнения ram данные будут вытесняться в своп, сжать уже сжатый архив еще не получится.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 28 Август 2021, 17:55:36
Должен быть установлен и запущен OOM-killer nohang, с включенной опцией zram_checking_enabled=TRUE в nohang-desktop.conf/nohang.conf. Если правильно понял, отслеживаются ситуации с переполнением zram несжимаемым данными и отбрасываются.

Где-то видео было.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: betcher от 28 Август 2021, 18:06:43
А.что конкретно сделает Оом киллер в такой ситуации? Отследить то не проблема.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 28 Август 2021, 18:28:10
Лор (https://www.linux.org.ru/forum/general/16334308?cid=16410399)
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: betcher от 28 Август 2021, 20:22:33
Ок, а как он.определит кого.убивать? Вот конкретно в этой гипотетической ситуации он кого грохнет?
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 30 Август 2021, 13:24:25
Опасненько размер zram делать больше ram
Выше я делал. Как минимум однозначно можно сказать что с swop-in-zram при маленьком количестве памяти значительно лучше
Смысла в Оом киллер на дектопе я не понял. Как правило самое жрущее приложение  - браузер. Когда вообще вся память кончилась - упали вкладки. Память очистилась. Нужные по f5 можно восстановить. Чем бы здесь помог Оом?
А когда памяти не в обрез - экономить ее очень сильно помогает auto-tab-discard (https://forum.puppyrus.org/index.php?topic=21148.msg178480#msg178480)
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: Ekim от 06 Сентябрь 2021, 14:16:27
Цитата
Скриншот: https://imgur.com/a/vY9qrWz
Верхний график использования процессора?
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: sfs от 06 Сентябрь 2021, 14:40:16
Верхний график использования процессора?
Если вопрос про то, насколько zram= увеличивает нагрузку на проц - я увеличения не почувствовал.
Если кто-то почувствует - можно поиграть со степенью компрессии
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 06 Сентябрь 2021, 20:10:06
Верхний график использования процессора?
Это тест с компиляцией ядра 514 в 128 потоков. Естественно процессор будет задействован под верхнюю планку.


Там суть теста, что система не встает колом, когда идет массовый сброс данных в своп, роль которого выполняет zram.
Но и со свопом на HDD, тоже не будет проблем, если используются новые ядра pf. Правда ввод/вывод там будет помедленней и зависеть от новизны/древности диска.
С любыми другими ядрами комп просто 'умрет' от таких издевательств. Спасением будет только 'волшебная' кнопка на системном блоке. :)

p.s. В том тесте комп с 2Gb памяти.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
Отправлено: krasnyh от 23 Сентябрь 2021, 15:14:25
Цитата
вышел le9fd, без заморозки и багов переваривающий даже
for i in {1..1000}; do (tail /dev/zero &); done
– быстрый запуск до тысячи хвостов - это невероятно!

https://github.com/hakavlad/le9-patch/blob/main/experimental/le9fd_patches/le9fd-5.14.patch
Лор (https://www.linux.org.ru/forum/general/16334308?cid=16543664)

Интересно, что у меня команда "for i in {1..1000}; do (tail /dev/zero &); done" вызывает полное замерзание, но не по памяти, а процессору. Правда этот патч, естественно, не установлен (uname -r/5.13.0-pf5-lf5), но я не думаю, что он как-то влияет на загрузку проца.
Код
$ inxi -C
CPU:       Quad core Intel Xeon E5450 (-MT-MCP-) cache: 6144 KB
           clock speeds: max: 2997 MHz 1: 2098 MHz 2: 1998 MHz 3: 1998 MHz 4: 1998 MHz

$ free -h
               total        used        free      shared  buff/cache   available
Mem:           3,8Gi       1,4Gi       1,2Gi       236Mi       1,3Gi       1,8Gi
Swap:           11Gi          0B        11Gi


Хотя, кто его знает, в чем там первопричина 'заморозки'.
Название: Re: Нехватка памяти, фризы:OOM KILLER , le9-patch + zram и пр.
Отправлено: sfs от 06 Январь 2022, 11:02:51
Код
# uname -r
5.15.0-pf5-mgm
# cat /sys/block/zram0/comp_algorithm
lzo lzo-rle lz4 lz4hc 842 [zstd]
Заметил еще алгоритм 842 (https://en.wikipedia.org/wiki/842_(compression_algorithm))
842, 8-4-2 или EFT - это алгоритм сжатия данных.Это вариация алгоритма сжатия Lempel-Ziv с ограниченной длиной словаря.При типичных данных 842 дает от 80 до 90 процентов сжатия LZ77 с гораздо более быстрой пропускной способностью и меньшее использование памяти. [1]Аппаратные реализации также обеспечивают минимальное использование энергии и минимальной области.
По этой (https://linuxreviews.org/Comparison_of_Compression_Algorithms#zram_block_drive_compression) таблице получается, что он самый неэффективный

Нужна поддержка CONFIG_ZRAM_WRITEBACK в ядре.
- в моих 515 нет. В pf есть. Недоглядел. Добавить на будущее?
Название: Re: Конфиг ядра
Отправлено: krasnyh от 07 Январь 2022, 00:28:10
Опять: :)
Цитата
Я в 5.16 буду без -le, но с mglru.
Лор (https://www.linux.org.ru/forum/general/16321096?cid=16726111)

Но все же понятно решение, раз mglru собираются, в конце концов, добавить в ядро официально.
Название: Re: mglru, le9-patch + zram. Нехватка памяти, фризы:OOM KILLER и пр.
Отправлено: krasnyh от 10 Январь 2022, 17:54:53

У автора pf убраны из списка (https://gitlab.com/post-factum/pf-kernel/-/wikis/README#ok-whats-there-in-your-patchset) патчи Damon и zstd, как вошедшие в официальное ядро.

А так же, как и анонсировалось, удален le9 в пользу mgLRU. Кто не в курсе, это механизм работы с памятью от Google. Он уже давно используется на ChromeOS, где всегда было памяти в обрез, в пределах 1G, плюс–минус.

Так что спасибо hakavlad и его le9, он взбаламутил все это болото и его патч стали добавлять в оптимизированные ядра. В итоге, зашевелились и гугловцы со своим mgLRU и провели ряд оптимизаций кода с прицелом добавления в официальное ядро.
Название: Re: mglru, le9-patch + zram. Нехватка памяти, фризы:OOM KILLER и пр.
Отправлено: krasnyh от 27 Март 2022, 16:44:58
Так что спасибо hakavlad и его le9, он взбаламутил все это болото и его патч стали добавлять в оптимизированные ядра. В итоге, зашевелились и гугловцы со своим mgLRU и провели ряд оптимизаций кода с прицелом добавления в официальное ядро.
MGLRU может появиться в Linux 5.19 для повышения производительности — особенно в ситуациях с нехваткой оперативной памяти (https://www.phoronix.com/scan.php?page=news_item&px=MGLRU-Not-For-5.18)
Название: Re: mglru, le9-patch + zram. Нехватка памяти, фризы:OOM KILLER и пр.
Отправлено: sfs от 31 Май 2022, 17:38:06
оптимизация использования озу в условиях его жесткой нехватки (https://manjaro.ru/how-to/optimizaciya-ispolzovaniya-ozu-v-usloviyah-ego-zhestkoy-nehvatki.html)
Название: Re: mglru, le9-patch + zram. Нехватка памяти, фризы:OOM KILLER и пр.
Отправлено: krasnyh от 31 Май 2022, 18:08:31
Prelockd и memavaild выполняют ту же задачу, что и le9-patch. Это два разных подхода к одному решению, но le9-patch, это более свежий вариант/идея.

Цитата автора (hakavlad):
Цитата
Если не любишь конпелять и используешь ядра что дают, то как альтернативу le9 можно использовать prelockd и memavaild.
Лор 03.01.21 (https://www.linux.org.ru/forum/general/16087867?cid=16087971)


А по поводу uresourced, я использую у себя нечто похожее - ananicy (https://wiki.archlinux.org/title/Improving_performance#Adjusting_priorities_of_processes). Отзывов не оставлю, это наверно только тесты могут показать эффект.
Кстати, когда юзал windows, в стародавние времена, тоже использовал какую-то прогу для повышения приоритета активного процесса.
upd. У uresourced немного шире функционал, он еще и с памятью работает (защита).

upd2. Цитата (hakavlad) по uresourced.
Цитата
На самом деле эффект от него есть, но не прям уж впечатляющ - prelockd и memavaild по-моему сильнее эффект давали.
Лор (https://www.linux.org.ru/forum/desktop/15046468?cid=16191733)
Название: Re: mglru, le9-patch + zram. Нехватка памяти, фризы:OOM KILLER и пр.
Отправлено: sfs от 02 Июнь 2022, 14:08:28
Т.е. не заморачиваемся? Только для гурманов
Название: Re: mglru, le9-patch + zram. Нехватка памяти, фризы:OOM KILLER и пр.
Отправлено: krasnyh от 07 Июль 2022, 11:55:27
Свежие тесты MGLRU выглядят многообещающе для производительности Linux (https://www.phoronix.com/scan.php?page=news_item&px=MGLRU-July-2022-Performance)
Гуглоперевод:
Цитата
MGLRU v12 был недавно опубликован в качестве новой базы этой серии исправлений, разработанной Google, теперь против состояния Linux 5.19. Недавно я использовал эти патчи для свежего бенчмаркинга и по-прежнему впечатлен производительностью, особенно на устройствах с ограниченным объемом памяти.

Google уже использует MGLRU на Android и Chrome OS, и результаты оказались очень благоприятными. Многие организации/пользователи сообщают о отличных результатах работы с MGLRU . Если все пойдет хорошо, мы, возможно, увидим, что MGLRU будет включен в цикл Linux 5.20.
Название: Re: mglru, le9-patch + zram. Нехватка памяти, фризы:OOM KILLER и пр.
Отправлено: krasnyh от 18 Август 2022, 00:31:29
Выпущен MGLRU v14 для улучшения производительности Linux с малым объемом памяти (https://www.phoronix.com/news/MGLRU-v14-Released)
Цитата
MGLRU ожидается для Linux 6.1 ... Линус Торвальдс также ожидал и надеялся, что MGLRU будет готов к окну слияния 6.0, но, увы, время не подошло.

Название: Re: mglru, le9-patch + zram. Нехватка памяти, фризы:OOM KILLER и пр.
Отправлено: sfs от 22 Июнь 2023, 15:41:08
https://aur.archlinux.org/packages/mglru-desktop-settings
Название: Re: mglru, le9-patch + zram. Нехватка памяти, фризы:OOM KILLER и пр.
Отправлено: krasnyh от 22 Июнь 2023, 16:18:03
На сколько я понял, в ядрах > 6.1 mglru уже включен по умолчанию (или я путаю с pf-kernel, а в ванильном такого нет?). А вот min_ttl_ms меняют на 1000, да. Подобное есть в комменте (https://forum.puppyrus.org/index.php?topic=23552.msg181181#msg181181).

Что дает 1000 и для чего нужно менять, я х.з. У меня дефолтный 0. Но наверно, раз уже не первый раз такое число встречается от разных специалистов, то наверно это правильно. :) И надо и у себя поменять.
Название: Re: mglru, le9-patch + zram. Нехватка памяти, фризы:OOM KILLER и пр.
Отправлено: sfs от 22 Июнь 2023, 16:37:15
в ядрах > 6.1 mglru уже включен по умолчанию
cat /sys/kernel/mm/lru_gen/enabled покажет
Название: Re: mglru, le9-patch + zram. Нехватка памяти, фризы:OOM KILLER и пр.
Отправлено: krasnyh от 22 Июнь 2023, 16:43:11
То что я видел, запуская разные новые дистры с LiveCD, там везде "0x0007". Поэтому и удивился, что в данном пакете прописано в службе ExecStart=/bin/sh -c 'echo Y > /sys/kernel/mm/lru_gen/enabled'.
Название: Re: mglru, le9-patch + zram. Нехватка памяти, фризы:OOM KILLER и пр.
Отправлено: sfs от 22 Июнь 2023, 17:08:31
везде "0x0007"
А ядро >=6.1 ?
Название: Re: mglru, le9-patch + zram. Нехватка памяти, фризы:OOM KILLER и пр.
Отправлено: krasnyh от 22 Июнь 2023, 19:33:17
Да.
Название: Re: mglru, le9-patch + zram. Нехватка памяти, фризы:OOM KILLER и пр.
Отправлено: hakavlad от 27 Август 2023, 16:37:00
Что дает 1000 и для чего нужно менять, я х.з.

Это в общем регулировка агрессивности киллера. По-моему 1000 это слишком агрессивно. Даже 50-100 на десктопе вполне хватает (по крайней мере если системный раздел на SSD). Если установлено 0, то киллер может запаздывать.