Size: a a a

Russian Fedora Community

2020 January 06

AZ

Alexander Zaitsev in Russian Fedora Community
если ему не нравится, то пусть сносит у себя на системе и дальше имеет систему, которая дохнет от любого жрущего чиха. а пользователи пусть таки страдают поменьше
источник

A

Artem in Russian Fedora Community
> дохнет от любого жрущего чиха.
> правильно делают
> по существу
Сходи почитай, не. ✅👌🏻
источник

FL

Filippe LeMarchand in Russian Fedora Community
Дак я ж флатпак собираю.
источник

A

Alex Ф-ф-фэils!🌠︙... in Russian Fedora Community
В винде норм механизм на эту тему
источник

A

Artem in Russian Fedora Community
👍🏻 LMM по идее в планах и должен подобным заниматься, когда приложения будут знать что хотят от них. И Леня написал что LMM great.
источник

AZ

Alexander Zaitsev in Russian Fedora Community
Artem
> дохнет от любого жрущего чиха.
> правильно делают
> по существу
Сходи почитай, не. ✅👌🏻
ну если у тебя это сейчас работает не так, то у тебя другой линукс какой-то
источник

A

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

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
источник

A

Artem in Russian Fedora Community
И LMM они пишет не great

Oops, sorry. I mean GMemoryMonitor. I assumed l-m-m and GMemoryMonitor
was the same thing, but they aren't.
источник

FL

Filippe LeMarchand 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
tl;dr
systemd-oomd будет?
источник

A

Artem in Russian Fedora Community
Он пишет что easy можно и сейчас это делать с помощью него. :D
источник

AZ

Alexander Zaitsev 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
ну это выглядит разумно, тут не поспоришь. Только меня наверное смущает момент по предлагаемому убийству процессов
источник

AZ

Alexander Zaitsev in Russian Fedora Community
я не совсем понял, почему нужно бить сразу группу
источник

A

Artem in Russian Fedora Community
Это лишь один из его постов. Там правда интересно, поэтому и советую почитать. На ЛОР такое не почитаешь. :)
источник

AZ

Alexander Zaitsev in Russian Fedora Community
точнее, не так. Оно то понятно, но непонятно, как эту группу вычленять. Или оно уже как-то группируется сигруппами?
источник

AZ

Alexander Zaitsev in Russian Fedora Community
(я просто не шарю от слова вообще, как эти сигруппы работают)
источник

A

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

[p

[root@desktop ~]# pi... in Russian Fedora Community
Что за?
источник

A

Artem in Russian Fedora Community
[root@desktop ~]# ping 1.1.1.1
Что за?
источник

[p

[root@desktop ~]# pi... in Russian Fedora Community
sudo dnf install telegram-desktop нет такого
источник

A

Artem in Russian Fedora Community
источник