LINUX.ORG.RU

Убунтята, не проходите мимо: le9 patch добавлен в linux-xanmod и ваш OOM killer будет вылечен

 , , ,


5

4

Тред https://forum.xanmod.org/thread-4102-post-7572.html

Патч https://github.com/hakavlad/le9-patch

В чем дело?

Линуксы зависают при нехватке памяти: Линукс ядро не может мягко обрабатывать ситуации с нехваткой памяти

Решение: запрет на вытеснение определенного объема файловых страниц. Это обеспечивает этот самый патч, и киллер приходит быстро, система не виснет.

Патч принят в pf-kernel и linux-xanmod. linux-xanmod предоставляет бинарные сборки для deb-дистрибутивов.

Скачать бесплатно https://xanmod.org/

★★★

Последнее исправление: hakavlad (всего исправлений: 1)
Ответ на: комментарий от post-factum

Ну ужас, но не «Ужас-ужас.». Каковы аргументы? Плох алгоритм? Плоха идея? Идея защиты анонимки кажется абсурдной? Но на дворе не 2010 и защита анонимки - важная задача.

Да, в 2010 была такая шутка:

swap would be intersting if we could somehow control swap thrashing. Maybe
we could add min_anonlist_kbytes. Just kidding:)

https://lore.kernel.org/patchwork/patch/222042/

Но в 2021 это жизненная необходимость.

anonymous
()
Ответ на: комментарий от post-factum

создание надуманной проблемы

проблема существует независимо от нас, существует объективно

героическое её решение

не героическое, а лёгкое решение путем легкой правки патча le9

anonymous
()
Ответ на: комментарий от post-factum

Что непонятно? Где что непонятно?

anonymous
()
Ответ на: комментарий от post-factum

…путём рандомного принудительного mlock()’а?

Так там не mlock. Просто патч ПОЗВОЛЯЕТ не вытеснять анонимку, если ее объем начнет угрожать отзывчивости. Если анонимки остается единицы и десятки МБ - отзывчивость падает, хотя и не так сильно, как в случае с файл кэшем. И не РАНДОМНОГО, а на наиболее активную анонимку.

anonymous
()
Ответ на: комментарий от post-factum

Почему бы все эти ограничения снизу не сделать через cgroups?

Это слишком сложно. Это ж в каждом слайсе memory.min прописывать. Это неудобно. Плюс это не работает без unified cgroup hierarchy. И ты уверен, что memory.min защищает только анонимку?

Способ через патч проверен и работает отлично.

hakavlad ★★★
() автор топика
Ответ на: комментарий от post-factum

Просто реальный пример из жизни.

2 гига памяти, 6 гиг своп на zram. Открываем браузеры, открываем много вкладок, запускаем supertuxkart, продолжает открывать вкладки. zram разрастается, размер списков анонимной памяти уменьшается. При околонулевом размере анонимки происходит OOM. С драйвером i915 ко всему прочему проявляется описанный выше баг - гуй замирает, переходим в соседнюю виртуальную консоль и видим в журнале BUG. Резервация пары сотен МБ анонимки может предотвращать это. ООМ проиходит немного раньше, но зато без BUG и до вытеснения анонимной части рабочего набора в своп.

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

предотвращать панику с le9 и i915

Не панику, а всего лишь Oops

hakavlad ★★★
() автор топика
Ответ на: комментарий от post-factum

тейл не вытесняет анонимку (точнее не раздувает zram настолько, что в своп вытесняется значительная часть анонимки), зачем с ним тестить. Тестить стоит с чем-то малосжимаемым. Ко всему прочему рекомендуется следить за показателями через mem2log.

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

зачем с ним тестить

Тестить надо всё и вся.

post-factum ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.