LINUX.ORG.RU

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

 , , ,


3

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/

https://github.com/hakavlad/le9-patch/blob/main/experimental/le9fb_patches/le9fb-5.14.patch

@post-factum @ValdikSS

  • Fatal IO error не воспроизводится, можно запускать десятки циклов с хвостами;
  • новых побочек нет (с предыдущим le9fa бывали преждевременные убийства при стрессах);
  • отлично работает как со свопом, так и без.

clean_min в сочетании с достаточным anon_min дает совершенно багоустойчивую конструкцию без побочек. Спрашивайте ответы.

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

@post-factum @ValdikSS

Во-первых, вышел 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

Маленькой новой побочкой остается нетерпимость к сбросу грязных страниц. Если нет резерва чистых и нет возможности свопить, то ООМ не будет ждать сборса грязных (если они есть). С другой стороны, это вариант более low-latency.

Вариант такой: причину багов искать где-то в GFP флагах.

https://elixir.bootlin.com/linux/latest/source/include/linux/gfp.h

https://www.kernel.org/doc/gorman/html/understand/understand009.html

anonymous ()
  1. История успеха https://github.com/hakavlad/prelockd/issues/9
  2. 5.14.3.le9fd, for i in {1..100}; do (tail /dev/zero &); done - https://www.youtube.com/watch?v=tsnA6Mx-MpQ - есть лаги на записи, но в живом опыте лагов практически нет. Здесь быстро запущены 100 потоков tail /dev/zero, но машина не замёрзла.
hakavlad ★★ ()
Ответ на: комментарий от post-factum