Hi,
GNOME and KDE developers are working on resource control to help
improve interactivity and system responsiveness when under pressure.
This is done by isolating three resources: cpu, memory, and io, and
setting either limits, or more typical is to set minimum resources on
the high priority processes.
Resource control demo, this is a bit more desktop oriented
https://github.com/facebookexperimental/resctl-demo
Resource Control (2019) Dan Schatzberg, this is a bit more server oriented
https://www.youtube.com/watch?v=30i7SamZxRU
Also related to this effort is having a user space oom killer. The
kernel's built-in oomkiller is primarily concerned about keeping the
kernel itself safely running. It's not concerned about user space
responding predictably or optimally.
Much of the above work is predicated on oomd2 There's been significant
work lately integrating portions of it into systemd as systemd-oomd.
The idea is to intelligently determine what processes are taking up
way more resources than is reasonable (i.e. they're likely
misbehaving) and kill them off so that other processes survive and the
system doesn't completely faceplant, which would require either human
intervention or worse case, force reboot.
What things are high priority for a server or cloud use cases, aren't
the same as for desktops. So while all the concepts are the same, I
expect Server WG folks will want to take a look at optimizing for
typical server workloads.
--
Chris Murphy