2020-11-09 07:23:58 +03:00
# SPDX-License-Identifier: LGPL-2.1-or-later
2020-06-19 21:41:03 +03:00
#
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
[Unit]
Description = Userspace Out-Of-Memory (OOM) Killer
Documentation = man:systemd-oomd.service(8)
2023-05-08 22:01:34 +03:00
Documentation = man:org.freedesktop.oom1(5)
2020-06-19 21:41:03 +03:00
DefaultDependencies = no
2023-05-15 14:52:41 +03:00
Before = multi-user.target shutdown.target
Conflicts = shutdown.target
2021-02-23 11:09:10 +03:00
ConditionControlGroupController = v2
2021-09-11 14:56:15 +03:00
ConditionControlGroupController = memory
2021-02-23 11:09:10 +03:00
ConditionPathExists = /proc/pressure/cpu
ConditionPathExists = /proc/pressure/io
ConditionPathExists = /proc/pressure/memory
2021-09-09 18:12:55 +03:00
Requires = systemd-oomd.socket
After = systemd-oomd.socket
2020-06-19 21:41:03 +03:00
[Service]
AmbientCapabilities = CAP_KILL CAP_DAC_OVERRIDE
BusName = org.freedesktop.oom1
CapabilityBoundingSet = CAP_KILL CAP_DAC_OVERRIDE
2023-06-12 04:15:19 +03:00
ExecStart = {{LIBEXECDIR}}/systemd-oomd
2020-06-19 21:41:03 +03:00
IPAddressDeny = any
LockPersonality = yes
MemoryDenyWriteExecute = yes
# Reserve some minimum amount of memory so that systemd-oomd can continue to
# run in resource starved scenarios.
MemoryMin = 64M
MemoryLow = 64M
NoNewPrivileges = yes
OOMScoreAdjust = -900
PrivateDevices = yes
PrivateTmp = yes
ProtectClock = yes
ProtectHome = yes
ProtectHostname = yes
ProtectKernelLogs = yes
ProtectKernelModules = yes
ProtectKernelTunables = yes
ProtectSystem = strict
Restart = on-failure
RestrictAddressFamilies = AF_UNIX
RestrictNamespaces = yes
RestrictRealtime = yes
RestrictSUIDSGID = yes
SystemCallArchitectures = native
SystemCallErrorNumber = EPERM
SystemCallFilter = @system-service
Type = notify
User = systemd-oom
2021-05-16 12:55:36 +03:00
{ { S E R V I C E _ W A T C H D O G } }
2020-06-19 21:41:03 +03:00
[Install]
WantedBy = multi-user.target
Alias = dbus-org.freedesktop.oom1.service