Size: a a a

Russian Fedora Community

2020 January 07

АА

Алексей А. in Russian Fedora Community
Artem
Даже он пишет что некоторые вещи нужно делать только после одобрения folks которые отвечают за какое-то узкое место в ядре. Я к тому что нет одного человека который бы понимал как надо сделать это правильно и решить данную проблему. Ну и раскритиковал код earlyoom :)
Кто раскритиковал? Ссылочка есть?
источник

АА

Алексей А. in Russian Fedora Community
Artem
Может ты до сих пор не понял что текущее, предложенное решение может создать больше проблем чем решить. Давай ты почитаешь сначала хотя бы что Леня пишет, а потом послушаем уже мнение других экспертов

Hmm, are we sure this is something we want to have in the default
install? Is the code really good enough for that?

Looking at the sources very superficially I see a couple of problems:

1. Waking up all the time in 100ms intervals? We generally try to
  avoid waking the CPU up all the time if nothing happens. Saving
  power and things.

2. New code using system() in the year 2020? Really?

3. Fixed size buffers and implicit, undetected, truncation of strings
  at various places (for example, when formatting the shell string to
  pass to system()).

But more importantly: are we sure this actually operates the way we
should? i.e. PSI is really what should be watched. It is not
interesting who uses how much memory and triggering kills on
that. What matters is to detect when the system becomes slow due to
that, i.e. *latencies* introduced due to memory pressure and that's
what PSI is about, and hence what should be used.

But even if we'd ignore that in order fight latencies one should watch
latencies: OOM killing per process is just not appropriate on a
systemd system: all our system services (and a good chunk of our user
services too) are sorted neatly into cgroups, and we really should
kill them as a whole and not just individual processes inside
them. systemd manages that today, and makes exceptions configurable
via OOMPolicy=, and with your earlyoom stuff you break that.

This looks like second guessing the kernel memory management folks at
a place where one can only lose, and at the time breaking correct OOM
reporting by the kernel via cgroups and stuff.

Also: what precisely is this even supposed to do? Replace the
algorithm for detecting *when* to go on a kill rampage? Or actually
replace the algorithm selecting *what* to kill during a kill rampage?

If it's the former (which the name of the project suggests,
_early_oom)), then at the most basic the tool should let the kernel do
the killing, i.e. "echo f > /proc/sysrq-trigger". That way the
reporting via cgroups isn't fucked, and systemd can still do its
thing, and the kernel can kill per cgroup rather than per process...

Anyway, this all sounds very very fishy to me. Not thought to the end,
and I am pretty sure this is something the kernel memory management
folks should give a blessing to. Second guessing the kernel like that
is just a bad idea if you ask me.

I mean, yes, the OOM killer might not be that great currently, but
this sounds like something to fix in kernel land, and if that doesn't
work out for some reason because kernel devs can't agree, then do it
as fallback in userspace, but with sound input from the kernel folks,
and the blessing of at least some of the kernel folks.

Lennart
ссылку на пост Леннарта, пожалуйста
источник

АА

Алексей А. in Russian Fedora Community
Спасибо, нашел уже.
источник

АА

Алексей А. in Russian Fedora Community
источник

A

Artem in Russian Fedora Community
Ты читал что он написал? Он пишет что они хотят сделать его годным я для десктопа в том числе и что это лишь вопрос времени. А ты пишешь что oomd только для сервера

- facebook is working on making oomd something that just works for  everyone, they are in the final rounds of canonicalizing the configuration so that it can just work for all workloads without tuning. The last bits for this to be deployable are currently being done on the kernel side ("iocost"), when that's in, they'll submit oomd (or simplified parts of it) to systemd, so that it's just there and works. It's their expressive intention to make this something that also works for desktop stuff and requires no further tuning. they also will do the systemd work necessary. timeframe: half a year, maybe one year, but no guarantees.
источник

АА

Алексей А. in Russian Fedora Community
Читал по диагонали, ответил в спешке.
источник

АА

Алексей А. in Russian Fedora Community
Это влажные гипотезы об универсальных настройках пси для десктопа. Когда покажут, тогда и приходите.
источник

АА

Алексей А. in Russian Fedora Community
Леннарт вообще не в теме.
источник

F

Fomalhaut in Russian Fedora Community
Александр Ремизов
Метаданные репы updates сломались
Странно, как-то. Так глобально (по всем зеркалам) я не припоминаю ранее.
источник

A

Artem in Russian Fedora Community
Алексей А.
Леннарт вообще не в теме.
😎
источник

E

ElXreno in Russian Fedora Community
Алексей А.
Такой же костыль, как и ядерный киллер. Не костыль - это запрет оверкоммита памяти. Разрешение оверкоммита - это начало костылестроения.
Так зачем городить ещё один костыль, если можно взять, и попробовать решить проблему в ядре?
источник

A

Artem in Russian Fedora Community
Сейчас еще человек ответил Лене что резко не согласен с тем что он пишет что kernel guys не волнует вообще что там будет на десктопе. Волнует, но всё сложно...
источник

A

Artem in Russian Fedora Community
Но сам Леня также в конце написал, что если кому очень горит, то earlyoom сойдет как временно решение.
источник

A

Artem in Russian Fedora Community
Зато hakavlad подчеркнул, что баг был в earlyoom и когда я писал что оно валит не то что надо. Но вроде исправили.
> У местных ребят аллергия на юзерспейсные киллеры, потому что как минимум они знакомы с багом в low-memory-monitor https://gitlab.freedesktop.org/hadess/low-memory-monitor/issues/8 и с багом в earlyoom https://github.com/rfjakob/earlyoom/issues/121. В earlyoom баг исправлен, а автор LMM даже и не думает исправлять.https://gitlab.freedesktop.org/hadess/low-memory-monitor/issues/8 и с багом в earlyoom https://github.com/rfjakob/earlyoom/issues/121. В earlyoom баг исправлен, а автор LMM даже и не думает исправлять.
источник

A

Artem in Russian Fedora Community
Roman ждать долго пришлось, да 🙂
https://bodhi.fedoraproject.org/updates/FEDORA-2020-b31f3809c0
источник

A

Artem in Russian Fedora Community
Egor#1
как он сейчас? Стоит  ли переходить, нужно ли искать аналоги nitrogen, polybar и rofi
JFYI: есть в официальных репах теперь. Апстрим уже заждался когда он в Stable попадет... 😴
https://bodhi.fedoraproject.org/updates/FEDORA-2019-a0d98da21e
источник

A

Artem in Russian Fedora Community
Пайтон 2 еще поживет
https://opennet.ru/52145/
источник

АА

Алексей А. in Russian Fedora Community
Пайтон вечен, жизнь скоротечна.
источник

АА

Алексей А. in Russian Fedora Community
ElXreno
Так зачем городить ещё один костыль, если можно взять, и попробовать решить проблему в ядре?
Костылей должно быть два - так удобнее. Никто в здравом уме не ходит с одним костылем. Наличие двух костылей - ядерного и юзерспейсного - приводит в итоге к наилучшему результату
источник

E

ElXreno in Russian Fedora Community
Алексей А.
Костылей должно быть два - так удобнее. Никто в здравом уме не ходит с одним костылем. Наличие двух костылей - ядерного и юзерспейсного - приводит в итоге к наилучшему результату
Если тебе нужно тонна костылей - пожалуйста. Но я обойдусь с их минимальным количеством.
источник