The OpenNET Project / Index page

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



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

Оглавление

Релиз обработчика нехватки памяти oomd 0.2.0, opennews (??), 11-Сен-19, (0) [смотреть все]

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


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

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

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

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

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

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

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

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

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

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

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

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

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

Ответить | Правка | Наверх | 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 битных систем? Я правильно понял?
Ответить | Правка | Наверх | Cообщить модератору

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

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

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

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

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

Ответить | Правка | Наверх | 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". У меня лично эта тема не получается :(((.

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

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

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

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

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




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

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