LINUX.ORG.RU

systemd-oomd убьет вашу сессию (внимание пользователям спинов Fedora 34)

 , ,


0

1

Собственно сабж. systemd-oomd может убивать только целые контрольые группы.

В сессиях Xfce, Mate, LXDE etc. приложения и сессия лежат в общей группе session-X.scope.

При переполнении свопа сессия будет убиваться практически всегда и целиком.

https://bugzilla.redhat.com/show_bug.cgi?id=1933494

И похоже, что псем пофиг: юзеры все стерпят. Проблемы маргинальных DE никого не волнуют.

Ко всему прочему этот systemd-oomd грузит проц: в моем опыте в среднем на 0.6%.

Оправдывайтесь, @alpha

Еще:

https://bugzilla.redhat.com/show_bug.cgi?id=1941340

https://bugzilla.redhat.com/show_bug.cgi?id=1941170

★★★
Ответ на: комментарий от hobbit

Каждое приложение в отдельной контрольной группе. В Xfce все приложения свалены в общую группу session.scope

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

Ты перепутал буй с трамвайной ручкой лор с двачом.

С каких пор лор перестал быть филиалом /s/?

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

Иксы убились, которые я стартанул заново, система была живой.

earlyoom убивает процесс-виновник, а не сессию с иксами. Ну ок, если юзеру норм - то хорошо.

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

Да кто страдает то?

Не ты, так другие:

Just a me too: the whole X session on my primary workstation, including an on-going 3D print (about 4 hours out of 12), has been killed by systemd-oomd. The root cause was that I tried to recompile Ceph, and the C++ compiler took more memory than expected. Killing the whole user session on the OOM condition is not very helpful. It would be better to let the kernel OOM killer kick in, and kill some isolated process instead of the whole session on a single-user workstation, where there is nothing more important there apart from that very session.

https://bugzilla.redhat.com/show_bug.cgi?id=1933494#c15

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

Если тайно, то ок. Если заявишь публично - тебя отменят.

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

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

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

да я понимаю что сессия полностью. Но предположим, что печать или что там еще и есть самая важная програмулина в сессии. Она и была настолько тяжелой, что ее убил киллер oom, а сами иксы остались живы. Хотя их существование никакого смысла без убитого процесса не имеет. Все зависит от того что киллер прибьет

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

В Xfce все приложения свалены в общую группу session.scope

То есть в принципе, вопрос можно было бы решить тщательным переконфигурированием Xfce, без патчинга каких-либо программ?

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

С первого взгляда кроме systemd-run нет изкоробочных штук, которые умеют в .scope. Так что видать надо софт под системде патчить, шобы это как-то вменяемо функционировало

vasily_pupkin ★★★★★
()

Оправдывайтесь, @alpha

чекни свои привилегии сперва.

и вообще, РХ был дружелюбен в линуксу когда нуждался в нём. а когда ситуация поменялась, РХ уже что хочет то и делает. например федору чтоб в ней страдали.

salozar
()
Ответ на: комментарий от hobbit

вопрос можно было бы решить тщательным переконфигурированием Xfce

Да, вопрос решается на уровне DE. Как раз в кеды недавно эту фичу завезли, и каждое приложение должно запускаться в отдельной группе.

hakavlad ★★★
() автор топика

А, не совсем по этой проблеме, есть проекты демонов которые оставят убийство на крайних случай, а будут использовать у cgroup морозильник и выкручивание swappiness? И размораживали бы сами.

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

Нет.

Идея в том, что можно не убивать процесс, а послать sigstop. Вытесняется его память в swap так не очень активно, но если использовать cgroup, то можно задать более подходящее значение swappiness для группы. И Cgroup freezer удобнее. При улучшении ситуации с памятью можно продолжить работу процесса или группы.

Демоны обрабатывающие oom предпочитают убивать процессы, а я бы хотел узнать о существующих демонах предпочитающих работать по озвученной идее.

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

можно задать более подходящее значение swappiness для группы

в сигруп2 свопинес для группы задать нельзя. Можно memory.max, swap.max. Фризер относится к сигруп2.

Команда разработчиков демона nohang уже работает [1] над этим.

[1] https://github.com/hakavlad/nohang/issues/58

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

узнать о существующих

Пока о таких не известно. Проблемы:

  • нельзя заморозить всю систему
  • некотрые процессы некорректно выходят из разморозки
anonymous
()
29 июля 2021 г.

Как же хорошо что в Haiku никаких киллеров нету. Это ваши Линуксы такие кровожадные, всё бы им кого-нибудь убить. Haiku ценит жизнь каждого процесса.

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

И не знаешь про systemd-run, то так тебе лоху и надо.

Зачем пердолинг с systemd-run, если проще снести sd-oomd?

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

Это ваши Линуксы такие кровожадные

Это не линуксы кровожадные, а хайку негибкая. Линукс дает выбор - киллер или не киллер, оверкоммит или нет, процесс убивать или группу процессов, зависать или не зависать при нехватке памяти.

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

Каждое приложение запускает в отдельной контрольной группе. В старых DE процессы сессии лежат в одной группе и убиваются все месте.

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