Desktop becomes unresponsive when RAM and zram are exhausted; systemd-oomd does not intervene #130
Labels
No labels
docs
kind
bug
kind
enhancement
kind
package-request
packaging
release
f40
release
f41
release
f42
release
f43
release
f44
release
f45
release/rawhide
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
atomic-desktops/tracker#130
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Describe the bug
On a custom image based on Fedora Kinoite 44 (Aurora DX NVIDIA Open), the Plasma desktop became progressively unusable under memory pressure and eventually froze instead of recovering by terminating the offending application. RAM reached 93.95%, zram swap reached 99.99%, and total CPU utilization stayed around 81–92% for roughly 30 minutes.
systemd-oomdwas active but did not kill anything; there were no kernel OOM-killer events either.Aurora's maintainers stated that the relevant configuration is inherited from upstream Fedora/Kinoite and asked that this be tested/reported upstream: https://github.com/ublue-os/aurora/issues/2866#issuecomment-5659411918
VS Code (1.132.0, Electron 42.7.1, installed manually under the user's home directory) is the leading suspect, but the available historical data does not conclusively attribute per-process memory. Immediately before the ramp, two VS Code extension hosts exited/restarted. During the incident, Code repeatedly tried to scan/update an incompatible Remote-SSH extension. Near the freeze, Code's extension host and pty host became unresponsive. Chrome was also reported unresponsive at the end, so it may have been a victim or contributor.
The incident happened on 2026-09-13 between approximately 21:40 and 22:25 local time. The session then ended abruptly and the machine was rebooted.
This has not yet been reproduced on a pristine Fedora Kinoite installation. The report is being filed here because the downstream image uses Fedora's upstream
systemd-oomdconfiguration.Reproduction steps
The incident was not triggered intentionally and a deterministic reproducer is not yet available.
systemd-oomdconfiguration and 8 GiB zram.systemd-oomdor kernel OOM kill.I can collect per-process statistics if the issue recurs and can help test a more controlled reproducer.
Expected behavior
The desktop should remain recoverable under runaway application memory use. Ideally, the offending application/cgroup should be terminated before zram reaches 100% and the Plasma session becomes unusable. At minimum, the default oomd/cgroup configuration should prevent a complete desktop freeze and allow recovery without rebooting.
Actual behavior
The desktop progressively entered severe reclaim/thrashing as RAM and zram filled, then became unresponsive and required a reboot.
systemd-oomdwas running but did not intervene, and the kernel OOM killer did not log a kill.Evidence from
sysstat(sar; 12 logical CPUs, 31.2 GiB RAM, 8 GiB zram):At 22:20, only 270,608 KiB was free and 1,104 KiB of swap remained free. Kernel page scanning was 2,460 pages/s, major faults were 42.53/s, and memory PSI was about 25% (
%smem), consistent with severe reclaim/thrashing.System details
rpm-ostree status -bat the time:aurora-dx-nvidia-open:stable7.1.8-200.fc44.x86_64vm.swappiness = 10systemd-oomdstate/configuration checked after reboot:Additional information or screenshots
Relevant journal and VS Code timeline:
No
Killed process, kernelOut of memory,systemd-oomdkill, NVIDIA Xid, GPU reset, or lockup event was logged during the incident window.Other application details:
The current configuration appears to allow zram to fill completely and the desktop to thrash/freeze without oomd intervening because PSI never reached the configured 80% threshold. It would be useful to determine whether an appropriate user/app cgroup should have
ManagedOOMSwap=kill, whether the desktop memory-pressure threshold should be lowered, or whether another safeguard is appropriate.