Разработки проекта PuppyRus > pf-kernel - desktop-oriented Linux kernel fork.

mglru, le9-patch + zram. Нехватка памяти, фризы:OOM KILLER и пр.

(1/33) > >>

krasnyh:

--- Цитата: sfs от 12 Июль 2021, 16:29:48 ---Выводы : zram+le9-patch дают волшебный эффект на ПК с малым к-вом RAM
--- Конец цитаты ---
Настройка (в LF дистрибах  задается в параметрах ядра  zram=, выполняется в  /etc/rc.d/zswap)

--- Цитата: krasnyh от 31 Март 2021, 15:58:51 ---По оптимальным настройкам zram https://www.linux.org.ru/forum/desktop/16105853?cid=16109427
--- Конец цитаты ---

--- Цитата ---Нет смысла создавать zram размером более чем в два раза больше памяти, поскольку мы ожидаем коэффициент сжатия 2:1. Обратите внимание, что zram использует около 0,1% размера диска, когда не используется, поэтому огромный zram является расточительным.
--- Конец цитаты ---

https://archlinux.org.ru/forum/topic/20297/?page=1
Earlyoom, замена стандартного ООМ Killer
earlyoom-p-1.6.1_64-sf01.pfs - при горячей загрузке сам загрузит что надо
Пример конфига
nohang
https://aur.archlinux.org/packages/zram-swap-git/

По теме нехватки памяти, фризов и срабатывания OOM KILLER, от русскоязычного автора 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. Мопед не мой, не надо меня спрашивать. :)

betcher:

--- Цитата: krasnyh от 04 Октябрь 2020, 00:12:27 ---Это препятствует не выгрузке в своп, а ОТБРАСЫВАНИЮ КЭША.
--- Конец цитаты ---
ЕМНИП, именно это балансируется значением swappiness. Если приложение требует память, а свободной нет у ядра два выхода: скинуть в своп и сбросить кэш. Чем выше значение swappiness тем больше ядро использует своп сохраняя кэши.
Nohang смотрел, давно правда. Вам не понравится, там питон :)
Не уверен, что все эти конструкции реально могут решить проблему. Одно дело если открыто куча программ, плюс куча страниц в браузере. Если тут оом киллер грохнет кого, то и не жалко.
А если к примеру в гимпе открыт большой проект с несколькими изображениями в большом разрешении. Чем здесь поможет  nohang или earlyom?  Гимп грохнет? Ладно, допустим можно запретить убивать именно гимп. Кого он тогда убьет, следующими по прожорливости могут оказаться иксы или системд.
Я не к тому, что эти киллеры - плохо. Просто это точно не универсально.

krasnyh:
Хочу заметить, что там нет стандартного свопа - раздела, файла или zswap. Там чистый zram, в числовом исчислении, примерно zram_size=$(( RAM_SIZE / 1 )). Если точнее, то где-то /0,7.

--- Цитата: krasnyh от 04 Октябрь 2020, 00:12:27 ---MemTotal=10GB, swap on zram (disksize=14GB)
--- Конец цитаты ---
Т.е. тестируемые условия были нестандартны.

krasnyh:
Швейцарские физики выбирают nohang для обработки нехватки памяти

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

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

https://readme.phys.ethz.ch/linux/software_on_the_d-phys_linux_computers/

--- Конец цитаты ---

krasnyh:
Цитата 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. Прогресс очевиден, хотя и недостаточно быстр.
--- Конец цитаты ---
Линуксы зависли, реакции нет


Упомянутый Garuda Linux. Целое семейство DE/WM на базе арча - KDE, GNOME, Xfce, Cinnamon, MATE, LXQt-kwin, Deepin, Wayfire, BSPWM and i3wm.
Swap on zram, nohang, prelockd, memavaild. Скрины (второй скрин просто показать рабочий стол i3). Запускалось в вирте. Настройки по умолчанию.

Навигация

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

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

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