Kinoite: systemd-oomd does not intervene before desktop freeze under extreme memory pressure #728
Labels
No labels
a11y
btrfs
Closed As
Can't fix
Closed As
Deferred to upstream
Closed As
Duplicate
Closed As
Fixed
Closed As
Invalid
Closed As
Won't fix
default-apps
easyfix
epel
experience
flatpak
installation
kinoite
marketing
meeting
meeting-request
meta
mobile
need-info
need-work
nvidia
packaging
pending-action
updates
x11
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
kde/tracker#728
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 severe memory pressure and eventually froze instead of recovering by terminating a memory-consuming application.
During the incident, RAM reached 93.95%, zram swap reached 99.99%, and total CPU utilization remained around 81–92% for roughly 30 minutes. systemd-oomd was active, but it did not kill anything. There were also no kernel OOM-killer events.
After reboot, systemd-oomd reported the following configuration:
Observed memory PSI reached approximately 25%, well below the configured 80% pressure threshold, even though RAM and zram were almost completely exhausted.
This has not yet been reproduced on a pristine Fedora Kinoite installation.
VS Code is the leading suspect for the memory consumption, but the available historical data is not sufficient to conclusively attribute the memory usage to a specific process.
Reproduction steps
A deterministic reproducer is not currently available. The original incident was not triggered intentionally.
Approximate conditions from the observed incident:
In the observed incident:
I can collect per-process/cgroup statistics and attempt a controlled reproducer if the issue occurs again.
Expected behavior
The desktop should remain recoverable when an application or cgroup consumes excessive memory.
Ideally, the offending application/cgroup should be terminated before zram reaches 100% and the Plasma session becomes unusable.
At minimum, Fedora Kinoite's default memory-pressure/OOM configuration should prevent prolonged reclaim/thrashing from making the entire desktop unusable and requiring a reboot.
Actual behavior
The desktop progressively entered severe reclaim/thrashing as RAM and zram filled, then became unresponsive and required a reboot.
systemd-oomd remained active but did not kill anything, and there was no kernel OOM-killer event.
Evidence from sysstat/sar:
At 22:20:
No systemd-oomd kill or kernel OOM kill was logged.
System details
Custom image based on Fedora Kinoite 44:
Aurora DX NVIDIA Open (aurora-dx-nvidia-open:stable)
rpm-ostree status -b:
State: idle
AutomaticUpdates: stage; rpm-ostreed-automatic.timer: inactive
Deployments:
● ostree-image-signed:docker://ghcr.io/ublue-os/aurora-dx-nvidia-open:stable
Digest: sha256:4cc7dfa929bd411be219be1349a1c91370c17660f3ce2e4f79bdfa94c7ade5f8
Version: 44.20260908.1 (2026-09-08T01:34:57Z)
ostree-image-signed:docker://ghcr.io/ublue-os/aurora-dx-nvidia-open:stable
Digest: sha256:b96bbdd864d4ef248d40fd6e5eedb1c79e3902a28981b5c862a6f97c352bbbf8
Version: 44.20260902.1 (2026-09-02T04:08:39Z)
Hardware/software:
Additional information or screenshots
The incident occurred on 2026-09-13 between approximately 21:40 and 22:25 local time. The affected session ended abruptly and the machine was rebooted.
systemd-oomd configuration checked after reboot:
systemd-oomd.service: active (running)
Swap Used Limit: 90.00%
Default Memory Pressure Limit: 60.00%
Default Memory Pressure Duration: 20s
Memory Pressure Monitored CGroups:
/system.slice: 80% for 20s
/user.slice/user-1000.slice/user@1000.service: 80% for 20s
/user.slice/user-1000.slice/user@1000.service/app.slice: 80% for 20s
Swap Monitored CGroups: (none)
vm.swappiness = 10
Relevant journal / application timeline:
21:39:34 code: Extension host pid 2250795 exited
21:39:39 code: Extension host pid 3053315 exited
21:40 onward: repeated Remote-SSH 0.128.0 scan errors
22:24:54 kwin_wayland: The main thread was hanging temporarily!
22:25:17 code: Extension host (pid 3053476) is unresponsive
22:25:18 code: Extension host is responsive again
22:25:20 code: No ptyHost heartbeat after 6 seconds
22:25:25 at-spi2-registryd: Disabling unresponsive app
22:25:36 last journal entry from the affected boot
22:26:11 next boot begins
No "Killed process", kernel "Out of memory", systemd-oomd kill, NVIDIA Xid, GPU reset, or lockup event was logged during the incident window.
Applications active during the incident:
VS Code is the leading suspect, but the historical data does not provide sufficient per-process memory information to prove that it was the source of the memory exhaustion. Chrome may also have been either a contributor or a victim.
Raw logs are not attached because they contain local filesystem paths and network addresses. Relevant lines above have been sanitized.
What seems particularly relevant is that zram was effectively 100% full while memory PSI remained well below the configured 80% pressure threshold. Additionally, systemd-oomd reported no Swap Monitored CGroups.
It may be worth investigating whether an appropriate user/app cgroup should use ManagedOOMSwap=kill, whether the default memory-pressure threshold is appropriate for an interactive Plasma desktop, or whether another safeguard should handle this condition.