Am 14.06.22 um 01:22 schrieb Nick Rosbrook:
On Mon, Jun 13, 2022 at 8:19 AM Lukas Märdian <sl...@ubuntu.com> wrote:
I wonder if we could use a more selective approach, though, using
"OOMScoreAdjust=" in the systemd.exec environment (i.e. Gnome-Shell
launcher in Ubuntu's context, as sd-oomd is currently only enabled on
Ubuntu Desktop) [2], to reduce the probability of certain "important"
apps being killed first, e.g. by maintaining an allow-list of such apps.
IIUC, OOMScoreAdjust only influences the behavior of the kernel OOM
killer, not systemd-oomd. In any case, I do agree that a "selective
approach" might improve the current situation (this is what I tried to
convey in option (2)).
Indeed. I misread the man page "This setting also applies to
systemd-oomd" => This only applies to "OOMPolicy=" and only as of v251
so it won't help us here. [1]
The ManagedOOMPreference[1] option exists, but this property is
ignored if the unit's cgroup is not owned by root. The rationale for
the limitation is described in a link that Michel shared [2]. In
short, this option is reserved for "critical services" and should be
used sparingly. But, as Steve said earlier, it is likely that the
browser is the most important process to many desktop users. Maybe
this limitation on setting ManagedOOMPreference could be removed, or
eased to at least allow setting `ManagedOOMPreference=avoid` on
non-root owned cgroups? For this to be effective, there would need to
be other viable kill candidates (i.e. cgroups with greater than 5%
swap usage) when the SwapUsedLimit is met.
Yes, I feel like allowing a "ManagedOOMPreference=avoid" for critical UI
applications, would be a sensible change to make. This should allow
starting applications like this (possibly integrated with the
gnome-shell launcher for allow-listed applications):
$ systemd-run --user -p ManagedOOMPreference=avoid firefox
Should we setup a PPA to apply this modification for testing it against
the "Do not enable swap kill at all" (option 3) approach and ask the
affected users [2] to test both methods for the best outcome?
Testing option (3) should be as easy as adding a new file in /etc to
override the "ManagedOOMSwap=" setting, using the current systemd build
available in Ubuntu Jammy:
$ cat /etc/systemd/system/-.slice.d/10-oomd-root-slice-defaults.conf
[Slice]
ManagedOOMSwap=auto
-- Lukas
Thanks,
Nick
[1]
https://www.freedesktop.org/software/systemd/man/systemd.resource-control.html#ManagedOOMPreference=none%7Cavoid%7Comit
[2]
https://fedoraproject.org/wiki/Changes/EnableSystemdOomd#Can_we_exclude_certain_units_from_being_killed.3F
[1] https://github.com/systemd/systemd/pull/22629
[2] https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1972159
--
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at:
https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel