The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Релиз обработчика нехватки памяти oomd 0.2.0"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Релиз обработчика нехватки памяти oomd 0.2.0"  +/
Сообщение от opennews (??), 11-Сен-19, 23:28 
Facebook опубликовал второй выпуск oomd, обработчика нехватки памяти в системе (OOM, Out Of Memory), работающего в пространстве пользователя...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=51469

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


16. "Релиз обработчика нехватки памяти oomd 0.2.0"  +4 +/
Сообщение от кек (?), 12-Сен-19, 01:47 
Традиционное сравнение киллеров: паста написана месяц назад:

https://www.opennet.dev/tips/3116_oomkill_memory_earlyoom_noh...

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

42. "Релиз обработчика нехватки памяти oomd 0.2.0"  +/
Сообщение от кек (?), 12-Сен-19, 17:32 
Как oomd убивает сессию https://imgur.com/a/FSOtqPm
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

1. "Релиз обработчика нехватки памяти oomd 0.2.0"  +2 +/
Сообщение от Аноним (1), 11-Сен-19, 23:28 
Он так же тормозит как сам Facebook?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Релиз обработчика нехватки памяти oomd 0.2.0"  +6 +/
Сообщение от Водитель маршрутки (?), 11-Сен-19, 23:43 
Даже лучше
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "Релиз обработчика нехватки памяти oomd 0.2.0"  –1 +/
Сообщение от Аноним (2), 11-Сен-19, 23:42 
чем оно лучше earlyoom?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Релиз обработчика нехватки памяти oomd 0.2.0"  +/
Сообщение от Аноним (4), 11-Сен-19, 23:44 
PSI
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

8. "Релиз обработчика нехватки памяти oomd 0.2.0"  –4 +/
Сообщение от Аноним (8), 12-Сен-19, 00:11 
Тем что не требует "новейшего" ядра и библиотек с подачей смузи.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

9. "Релиз обработчика нехватки памяти oomd 0.2.0"  +/
Сообщение от Аноним (8), 12-Сен-19, 00:12 
Тем, что есть пакеты.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "Релиз обработчика нехватки памяти oomd 0.2.0"  –2 +/
Сообщение от Грусть (?), 11-Сен-19, 23:51 
Плагины - плохой признак проекта.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "Релиз обработчика нехватки памяти oomd 0.2.0"  +/
Сообщение от Аноним (10), 12-Сен-19, 00:21 
Почему?
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

11. "Релиз обработчика нехватки памяти oomd 0.2.0"  +/
Сообщение от Грусть (?), 12-Сен-19, 00:28 
Потому что авторы не знают, чего хотят, и делают то, что могут, а не то, что надо.
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

14. "Релиз обработчика нехватки памяти oomd 0.2.0"  +/
Сообщение от Анонимemail (14), 12-Сен-19, 01:18 
Типо, пока сам не сделаешь — никто не сделает?
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

25. "Релиз обработчика нехватки памяти oomd 0.2.0"  +/
Сообщение от Аноним (1), 12-Сен-19, 09:31 
Потому что для таких крохотных утилит это оверинжиниринг и демонстрация непонимания авторами как ими будут пользоваться конечные пользователи. Это как для rm написать плагинную систему - можно, но зачем?
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

32. "Релиз обработчика нехватки памяти oomd 0.2.0"  +/
Сообщение от кек (?), 12-Сен-19, 10:02 
>для таких крохотных утилит это оверинжиниринг и демонстрация непонимания авторами как ими будут пользоваться конечные пользователи

Конечными пользователями oomd являются админы крупных компаний с разными потребностями. Это вы нихрена не понимаете.

Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

35. "Релиз обработчика нехватки памяти oomd 0.2.0"  +/
Сообщение от Аноним (35), 12-Сен-19, 11:39 
Нет, вы не понимаете. В крупных компаниях пишут свои oom killer'ы под свои потребности, либо форкают проект и допиливают под себя. В тех полутора тысячах строчек ядра сабжа нет ничего уникального, чего бы не написал обычный программист, зато есть много лишнего, чего не требуется для конкретных узкоспециализированных случаев.
Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

29. "Релиз обработчика нехватки памяти oomd 0.2.0"  +1 +/
Сообщение от freehckemail (ok), 12-Сен-19, 09:44 
> Плагины - плохой признак проекта.

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

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

36. "Релиз обработчика нехватки памяти oomd 0.2.0"  +/
Сообщение от Грусть (?), 12-Сен-19, 13:00 
Не передёргивайте. Плагины - причина повнимательнее посмотреть на "продукт". Так же как банку на ИП, который не платит с этого банка налоги.

Это же относится к развесистой конфигурации.

Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

17. "Релиз обработчика нехватки памяти oomd 0.2.0"  +2 +/
Сообщение от Аноним (17), 12-Сен-19, 02:45 
хорошо хоть тут адекватные люди и пишут не на расте
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

18. "Релиз обработчика нехватки памяти oomd 0.2.0"  +/
Сообщение от Аноним (18), 12-Сен-19, 03:38 
Я думаю, было бы неплохо, если бы у нас был способ заставить пользователей Fedora принимать участие в экспериментах, а затем случайным образом давать им такие вещи, как nohang и earlyoom, oomd и монитор с низким объемом памяти. Нет документации, нет предупреждения, ничего. Они просто получают один из них. Как будто это их установка по умолчанию. И посмотреть, что взрывается, или нет, какие жалобы у них есть, или нет. Если они явно устанавливают что-то, а не случайно, они в конечном итоге оказываются смещенными, что фактически загрязняет данные. Просто мысль.

https://pagure.io/fedora-workstation/issue/98#comment-597005

Теперь прошу юзеров Федоры описать свой разрыв.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

33. "Релиз обработчика нехватки памяти oomd 0.2.0"  +3 +/
Сообщение от Аноним (33), 12-Сен-19, 10:14 
> способ заставить пользователей Fedora принимать участие в экспериментах

А они разве чем-то другим занимаются?

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

37. "Релиз обработчика нехватки памяти oomd 0.2.0"  +1 +/
Сообщение от Аноним (37), 12-Сен-19, 14:16 
> opt-in
> заставить

Больше не занимайся переводами

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

19. "Релиз обработчика нехватки памяти oomd 0.2.0"  –4 +/
Сообщение от Аноним (19), 12-Сен-19, 03:50 
Линуксопроблемы
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

22. "Релиз обработчика нехватки памяти oomd 0.2.0"  +3 +/
Сообщение от Аноним (22), 12-Сен-19, 08:42 
Граждане эксперты, поясните за OOM.

Почему в Linux есть memory overcommitment и OOM killer, а в Windows есть другой dynamic memory, и OOM killer отсутствует. Или я вообще всё путаю?

Насколько я понял, всегда можно попросить 20GB оперативной памяти, и если у тебя её нету, то ты попадаешь в swap. В windows при достижении определённого предела загрузки памяти старые приложения которые пытаются захватить больше памяти, вновь загружаемые приложения и пользователи внутрь своих сессий получат сообщения OOM.
А в Linux почему-то есть OOM killer, который зачем-то убивает процессы. А в друг там было что-то важное?

Я понимаю, что Windows API и POSIX это как небо и земля разные вещи. Что поведение очень разное, даже загрузка dll и загрузка so тоже отличается.

Я просто не понимаю, почему убивать? Или это потому что в Linux опять со свопом проблемы? https://bugzilla.kernel.org/show_bug.cgi?id=196729
По идее если толстые приложения убить, то в сессии пользователя освободится память, чтобы запустить утилиты и решить что позакрывать. У Windows в связи с этим традиционно проблема, потому что запус того же Task Manager может длится долго в ситуации полного исчерпания памяти.

Но ведь несмотря на логику memory overcommitment и oom killer графические сессии чувствуют себя намного хуже чем windows, при полном исчерпании свободной памяти. https://lkml.org/lkml/2019/8/4/15

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

26. "Релиз обработчика нехватки памяти oomd 0.2.0"  +/
Сообщение от exSun (ok), 12-Сен-19, 09:35 
Потому что внезапно стало приемлемым не рассчитывать доступный объём памяти и настраивать приложения соответственно располагаемым объёмам, а надеяться, что оно там само как-то разберётся. Потому что средний десктоп-юзер не понимает не то что нюансов, а даже основ эксплуатации промышленных систем, не хочет и не будет их понимать. Потому что именно средние десктопные пользователи теперь называются девопсами-админами и используют столь привычные им практики администрирования десктопов в промышленных средах. Потому что десктопные приложения достигли такого уровня сложности внутреннего устройства, что их авторы не могут оптимизировать потребление памяти. Потому что RAM теперь стоит недорого и его "всегда можно добавить", но нет понимания, что очередной гигабайт может оказаться последним. Потому что в свопе работать нельзя ни на сервере, ни на десктопе, но очень хочется.
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

30. "Релиз обработчика нехватки памяти oomd 0.2.0"  +3 +/
Сообщение от freehckemail (ok), 12-Сен-19, 09:45 
> Потому что именно средние десктопные пользователи теперь называются девопсами-админами и используют столь привычные им практики администрирования десктопов в промышленных средах.

Я вам открою секрет. Ламера понабежали не только в "девопсы" и в "админы". Они понабежали во все сферы IT. И между прочим, уже достаточно давно.

Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

34. "Релиз обработчика нехватки памяти oomd 0.2.0"  +/
Сообщение от exSun (ok), 12-Сен-19, 11:31 
Ну а теперь их узаконили, да.
Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

38. "Релиз обработчика нехватки памяти oomd 0.2.0"  +/
Сообщение от пох. (?), 12-Сен-19, 14:29 
да они, блжад, в разработчики понабежали. Ни девопсу, ни админу тут уже ничего не поделать.
Будь ламером, будь как все!

Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

39. "Релиз обработчика нехватки памяти oomd 0.2.0"  +/
Сообщение от freehckemail (ok), 12-Сен-19, 14:50 
> да они, блжад, в разработчики понабежали. Ни девопсу, ни админу тут уже ничего не поделать.

Да я тут где-то уже писал, вроде бы, что работа хорошего девопса заключается в том, что мы берём три решета, и ставим их друг за другом, чтобы все дырки оказались закрыты. Так что кое-что поделать вполне себе можно. Немного неприятно, что система целиком в голове теперь ну совсем уже не помещается. Но это, в принципе, ожидаемо. Мир усложняется. Общество требует всё более высоких технологий, и побыстрее. А столько хороших разработчиков просто не существует. Поэтому общество использует то, что есть. Результат, как обычно: изнутри -- костыль на костыле; но зато решает задачи людей, и потому они готовы платить ещё и ещё.

> Будь ламером, будь как все!

Я думаю, что это ложный вывод. Стремиться надо к лучшему.

Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

40. "Релиз обработчика нехватки памяти oomd 0.2.0"  +/
Сообщение от заминированный тапок (?), 12-Сен-19, 15:52 
если система не может корректно обработать ситуацию нехватки ресурсов и виснет, bsod'ит, паникует или ведёт себя иным некорректным образом, то есть просто падает - какя она на**й "промышленная" ? вы в своём уме?

конечно проще сказать: "это не дорожники плохо асфальт постелили, это обувь китайская на ногах его портит"

Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

41. "Релиз обработчика нехватки памяти oomd 0.2.0"  +1 +/
Сообщение от x (?), 12-Сен-19, 16:24 
overcommitment в 64 не работает как задумано. а ограничить нельзя просто так н.р.
те же инструментированные address-sanitizer сборки любого процесса тут же выделяют 20 Тб на старте, и нормально себе работают. Так же маппинг гигабайтных файлов требует больших адресных пространств.

Теперь имеем что на x64 malloc() всегда завершается удачно, а память жрется по фактическому обращению на страницу в недерминированный момент времени.. как это разрулить пока никто не придумал.

Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

43. "Релиз обработчика нехватки памяти oomd 0.2.0"  +/
Сообщение от Павел Отредиезemail (?), 13-Сен-19, 19:10 
Я сегодня тестировал limits.conf  на Elementary OS 5 64 бита. Ulimit -а показывает установленные лимиты по памяти, а тестовая mem-бомба с malloc в цикле плюёт на них и загоняет систему в swap. Значит вы говорите, что это свойство 64 битных систем? Я правильно понял?
Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

44. "Релиз обработчика нехватки памяти oomd 0.2.0"  +/
Сообщение от Павел Отредиезemail (?), 13-Сен-19, 20:11 
Я ввожу в заблуждение. Лимиты нормально отрабатывают и на 32 и на 64 бита. И да, malloc возвращает Null при достижении лимитов и на 64 битах.
Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

45. "Релиз обработчика нехватки памяти oomd 0.2.0"  +/
Сообщение от Павел Отредиезemail (?), 13-Сен-19, 22:03 
В общем я ошибался. По памяти пользователя лимитами и не ограничить.
Ответить | Правка | ^ к родителю #44 | Наверх | Cообщить модератору

46. "Релиз обработчика нехватки памяти oomd 0.2.0"  +/
Сообщение от кек (?), 14-Сен-19, 07:00 
Очень даже ограничить.

В limits.conf ключ as позволяет ограничивать размер ВИРТУАЛЬНОЙ ПАМЯТИ КАЖДОГО ПРОЦЕССА сессии пользователя.

Ну а в сигруппах memory.max уже устанавливает лимит РЕАЛЬНОЙ ПАМЯТИ для ЦЕЛОЙ ГРУППЫ.

Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

47. "Релиз обработчика нехватки памяти oomd 0.2.0"  +/
Сообщение от Павел Отредиезemail (?), 14-Сен-19, 10:02 
> Очень даже ограничить.
> В limits.conf ключ as позволяет ограничивать размер ВИРТУАЛЬНОЙ ПАМЯТИ КАЖДОГО ПРОЦЕССА
> сессии пользователя.

Да, но у palemoon без вкладок VIRT=2G сразу
Черново для себя сделал в ядре ключ rss - резидентная память. Было не реализовано:
man bash:
-m     The maximum resident set size (many systems do not honor this limit)
2 строчки патча.

> Ну а в сигруппах memory.max уже устанавливает лимит РЕАЛЬНОЙ ПАМЯТИ для ЦЕЛОЙ
> ГРУППЫ.

Напишите кто-нибудь пожалуйста в советы рабочее на сегодняшний день howto "Ограничение памяти по пользователям с помощью cgroups". У меня лично эта тема не получается :(((.

Ответить | Правка | ^ к родителю #46 | Наверх | Cообщить модератору

48. "Релиз обработчика нехватки памяти oomd 0.2.0"  +/
Сообщение от кек (?), 14-Сен-19, 13:52 
https://www.linux.org.ru/forum/general/14991027 тема раскрыта
Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

49. "Релиз обработчика нехватки памяти oomd 0.2.0"  +/
Сообщение от кек (?), 14-Сен-19, 13:55 
$ systemd-run --user -p MemoryMax=1G -p MemorySwapMax=0 foo
Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

23. "Релиз обработчика нехватки памяти oomd 0.2.0"  +1 +/
Сообщение от Аноним (23), 12-Сен-19, 09:13 
На самом деле дело обстоит так:

Нехватка релизов обработчиков памяти!

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

24. "Релиз обработчика нехватки памяти oomd 0.2.0"  +/
Сообщение от кек (?), 12-Сен-19, 09:29 
Скоро nohang 0.2 выйдет, не беспокойтесь
Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

27. "Релиз обработчика нехватки памяти oomd 0.2.0"  +/
Сообщение от кек (?), 12-Сен-19, 09:37 
Продублирую тут пасту с лора.

>Ну и чем ваш костыль лучше костыля cgroups?

По части предотвращения ООМ юзерспейсные демоны проще и более гибкие.

Например, если хотите защитить систему от переполнения памяти путем использования earlyoom - достаточно его просто установить, и он будет работать достаточно хорошо, реагируя, если SwapFree < 10% & MemAvailable < 10% (пороги легко изменить через конфиг). Эти пороги будут работать на любой системе с любым размером памяти.

Для настройки сигрупп для той же задачи нужно знать сколько памяти в системе имеется, знать сколько какие демоны могут съедать. Если система хорошо настроена, и мы в нее докинем оперативы - эта память будет утилизироваться не полностью, ибо установка лимитов обычно происходит через абсолютные значения. В целом, юзерспейсные киллеры просто труднее настроить неправильно по сравнению с сигруппами.

Далее. При ООМ внутри сигруппы (если группа упрется в лимит memory.max) в ней произойдет вызов OOMK и жирный процесс будет убит через SIGKILL: это еще один минус - невозможность кастомизации корректирующего действия (в earlyoom и nohang процесс сначала получит SIGTERM для возможности более корректного завершения).

Далее, настройка сигруп не позволяет (пока не позволяет, но Лёня обдумывает) реагировать на превышение в системе заданных уровней PSI memory pressure: если в системе интенствный swapping/thrashing/конкуренция за память, да такая, что рабочий стол замерз (это может произойти и при большом свободнос свопе) - сигруппы тут также бессильны.

Конечно, можно использовать оба костыля одновременно.

Ну и да, сигруппы тебе не отправт уведомления на раб стол, если случится убийство (nohang может, если вкючить в кофиге).

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

28. "Релиз обработчика нехватки памяти oomd 0.2.0"  +3 +/
Сообщение от Аноним (28), 12-Сен-19, 09:39 
Мы придумали OOM обработчик, который вылезает раньше системного OOM обработчика, и тем решили проблему, что мы не умеем писать софт, влезающий в ОЗУ, а не забивающий, пока ОЗУ не кончится совсем-совсем!

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

31. "Релиз обработчика нехватки памяти oomd 0.2.0"  +/
Сообщение от кек (?), 12-Сен-19, 09:59 
>мы не умеем писать софт, влезающий в ОЗУ

Умеют, но это дороже обойдется. А вообще-то у них миллиарды пользователей. Как ты представляешь себе оптимизацию софта для таких нагрузок?

Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру