Ubuntu 26.10 stops low memory from killing your desktop session - OMG! Ubuntu

https://www.omgubuntu.co.uk/2026/09/ubuntu-memory-oomd-changes

Ubuntu 26.10 changes how the system choose which processes are killed when memory runs low, making a rogue browser tab is less likely to punt you back to the login screen.

When your system runs out of memory, the kernel’s out-of-memory (OOM) killer kicks in, terminating processes to recover some.

The issue is that doesn’t always kill the right things.

By default, many apps and critical desktop services share the same priority score. When the OOM killer is choosing its victim target, it looks at their OOM scores, not “what’s using the most memory”.

Firefox and GNOME Shell, for example, share the same priority status. If memory pressure increases, the OOM killer may decide to terminate GNOME Shell to free up memory rather than the the process causing runaway memory requirements.

I regularly encounter this myself in Ubuntu VMs if I try to do too many things (with too many Firefox tabs open): rather than OOM nuking an app, it kills GNOME Shell instead – but I’d much rather a tab crash than my entire desktop session.

Ubuntu 26.10 makes changes to mitigate this.

Canonical’s Jean Baptiste Lallement says “the goal is simply to preserve the desktop session where possible” by terminating apps before core session services. To do this, it’s lowered the OOM scores for desktop processes so they’re less likely to be nixed.

Ubuntu 26.10 also stops systemd-oomd being able to kill user sessions as it doesn’t use the same OOM priority scores as the kernel, and important desktop services could still be nixed based on memory pressure requirements.

These changes will improve how Ubuntu copes when memory runs out, but Lallement calls it “a first step” that “does not make Ubuntu immune to OOM conditions”. More granular OOM policies for desktop services and apps are planned.

Ubuntu 26.10 is released on Thursday 15 October, 2026, but if you plan to test drive the beta that’s due on Thursday 24 September, these changes will be there – not that you’ll notice them, hopefully!

86 points · 8 comments · view on lemmy.world

8 Comments

Weingeist@feddit.org · 11 pts · 17h

Finally!

chaospatterns@lemmy.world · 11 pts · 16h (1 reply)

I’d much rather a tab crash than my entire desktop session.

I wish I could get the OOM killer to kill a tab, but instead it kills all of Firefox for me.

urushitan@kakera.kintsugi.moe · 3 pts · 12h

I think the difficulty is every frame runs in a separate process

https://wiki.mozilla.org/Project_Fission

So and oom killer would have to be smart enough to group each tab’s processes for tabs with iframes. Additionally I think gpu, media decoder, and a number of other processes also run independently, so it would have not kill those (or if it did, all the tabs would probably die, functionally not too far off from killing Firefox)

Gremour@lemmy.world · 8 pts · 11h

So what happened to the swap?

FishFace@piefed.social · 5 pts · 9h

Isn't this article essentially wrong because of this line:

Ubuntu 26.10 also stops systemd-oomd being able to kill user sessions

systemd-oomd works completely differently from the kernel OOM killer. Unless it's changed, it just ranks everything by how much memory they're using and picks the biggest memory hog that isn't manually deprioritised by some config rule, and kills that. The OOM killer has a much smarter heuristic to deprioritise processes which are being actively used.

As far as I understand, systemd-oomd was always a shoddy implementation because of this, and when it first started being used in Fedora (I don't know about Ubuntu) also had insanely aggressive settings so that it would nobble something when you still had 20% free memory.

The problem it was trying to solve was that Linux's behaviour under memory pressure is actually abysmal. I have no idea if other OSes are any better, but basically once your computer starts thrashing, you're better off rebooting it because it'll be up again in a minute, whereas if you wait it'll probably be half an hour if you're lucky. The OOM killer detects actual out-of-memory, not thrashing, and so you can spend days slowly grinding your way through operations that should have taken seconds without ever triggering it. Hence systemd-oomd is designed to kick in before you actually run out of memory... and as a consequence it somewhat frequently does so too early.

kalpol@lemmy.ca · 3 pts · 16h (1 reply)

Errr...OpenSuSE always did this i guess because I've never been punted back to a login if Firefox (or anything really) crashed.

eldavi@lemmy.ml · 1 pts · 9h

what action it takes seems to be done on a distro-to-distro basis -- the old fedora system i worked on used to stop their xserver.

jdr@lemmy.ml · 0 pts · 17h

Ubuntu was last good twenty years ago