C0: cap systemd-coredump on ringtail to stop game-crash lockups
Wine/Proton game segfaults (e.g. Diablo IV) produced multi-GB cores that systemd-coredump spent minutes compressing to disk, pinning the CPU and freezing the desktop. Cap ProcessSizeMax/ExternalSizeMax at 1G (oversized cores logged but skipped) and MaxUse at 2G to bound the store. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
35ae171783
commit
c09bd5b612
2 changed files with 17 additions and 0 deletions
1
docs/changelog.d/+ringtail-coredump-size-cap.infra.md
Normal file
1
docs/changelog.d/+ringtail-coredump-size-cap.infra.md
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
Cap systemd-coredump on ringtail (ProcessSizeMax/ExternalSizeMax 1G, MaxUse 2G) so multi-GB Wine/Proton game crash dumps no longer thrash the disk and lock up the desktop.
|
||||||
|
|
@ -609,6 +609,22 @@ in
|
||||||
AllowSuspendThenHibernate=no
|
AllowSuspendThenHibernate=no
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
# Cap systemd-coredump. Wine/Proton games (Diablo IV, etc.) segfault
|
||||||
|
# regularly and dump multi-GB cores; with the stock (effectively unbounded)
|
||||||
|
# limits, systemd-coredump then spends minutes streaming and compressing the
|
||||||
|
# dump to disk — e.g. a single D4 crash produced a 4.6G core, read 13.7G and
|
||||||
|
# wrote 17.4G, pinning the CPU and locking up the desktop for ~3.5 minutes.
|
||||||
|
# Those cores are useless anyway: Nix .so files carry no build-id, so no
|
||||||
|
# backtrace can be generated. Capping uncompressed size at 1G makes oversized
|
||||||
|
# cores get logged-but-skipped (the kernel stops dumping once we stop reading)
|
||||||
|
# while real service cores (well under 1G) are still captured. MaxUse bounds
|
||||||
|
# the on-disk store so frequent game crashes can't accumulate (was at 8.6G).
|
||||||
|
systemd.coredump.extraConfig = ''
|
||||||
|
ProcessSizeMax=1G
|
||||||
|
ExternalSizeMax=1G
|
||||||
|
MaxUse=2G
|
||||||
|
'';
|
||||||
|
|
||||||
# NixOS release
|
# NixOS release
|
||||||
system.stateVersion = "25.11";
|
system.stateVersion = "25.11";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue