diff options
Diffstat (limited to 'modules/nixos/cgroups.nix')
| -rw-r--r-- | modules/nixos/cgroups.nix | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/modules/nixos/cgroups.nix b/modules/nixos/cgroups.nix deleted file mode 100644 index 07dc964..0000000 --- a/modules/nixos/cgroups.nix +++ /dev/null @@ -1,75 +0,0 @@ -# Stolen from https://git.lix.systems/the-distro/infra/src/branch/main/common/cgroups.nix -# Relatively inspired by fbtax2: -# https://facebookmicrosites.github.io/cgroup2/docs/fbtax-results.html -{ ... }: -let - systemCriticalSliceConfig = { - ManagedOOMMemoryPressure = "kill"; - - # guarantee availability of memory - MemoryMin = "192M"; - # default 100 - IOWeight = 1000; - # default 100 - CPUWeight = 1000; - }; -in -{ - systemd.oomd = { - enable = true; - enableRootSlice = true; - enableSystemSlice = true; - enableUserSlices = true; - }; - - systemd.services.nix-daemon = { - serviceConfig = { - CPUWeight = 10; - IOWeight = 10; - }; - }; - - systemd.slices.hostcritical = { - description = "Ensures that services to keep the system alive remain alive"; - - unitConfig = { - # required to avoid a dependency cycle on systemd-oomd. systemd will - # actually guess this right but we should fix it anyway. - DefaultDependencies = false; - }; - - sliceConfig = systemCriticalSliceConfig; - }; - - # make root logins higher priority for resources - systemd.slices."user-0" = { - sliceConfig = systemCriticalSliceConfig; - }; - - systemd.slices.system = { - sliceConfig = { - ManagedOOMMemoryPressure = "kill"; - ManagedOOMMemoryPressureLimit = "50%"; - - IOWeight = 100; - }; - }; - - systemd.services.sshd = { - serviceConfig = { - Slice = "hostcritical.slice"; - }; - }; - - systemd.services.systemd-oomd = { - serviceConfig = { - Slice = "hostcritical.slice"; - }; - }; - - systemd.services.systemd-journald = { - serviceConfig = { - Slice = "hostcritical.slice"; - }; - }; -} |
