− Swap unit configuration
configuration file whose name ends in ".swap"
encodes information about a swap device or file for memory
paging controlled and supervised by systemd.
This man page
lists the configuration options specific to this unit type.
See systemd.unit(5) for the common options of all
unit configuration files. The common configuration items are
configured in the generic [Unit] and [Install] sections. The
swap specific configuration options are configured in the
options are listed in systemd.exec(5), which define
the execution environment the swapon(8) binary is
executed in, in systemd.kill(5), which define the way
the these processes are terminated, and in
systemd.resource-control(5), which configure resource
control settings for these processes of the unit.
Swap units must
be named after the devices or files they control. Example:
the swap device /dev/sda5 must be configured in a unit file
dev−sda5.swap. For details about the escaping logic
used to convert a file system path to a unit name, see
All swap units
automatically get the BindsTo= and After=
dependencies on the device units or the mount units of the
files they are activated from.
Swap units with
DefaultDependencies= enabled implicitly acquire a
Conflicts= and an After= dependency on
umount.target so that they are deactivated at shutdown,
unless DefaultDependencies=no is specified.
implicit dependencies may be added as result of execution
and resource control parameters as documented in
Swap units may
either be configured via unit files, or via /etc/fstab (see
fstab(5) for details). Swaps listed in /etc/fstab
will be converted into native units dynamically at boot and
when the configuration of the system manager is reloaded.
See systemd-fstab-generator(8) for details about the
If a swap
device or file is configured in both /etc/fstab and a unit
file, the configuration in the latter takes precedence.
/etc/fstab, a few special options are understood by systemd
which influence how dependencies are created for swap
With noauto, the swap
unit will not be added as a dependency for swap.target. This
means that it will not be activated automatically during
boot, unless it is pulled in by some other unit. The
auto option has the opposite meaning and is the
With nofail, the swap
unit will be only wanted, not required by swap.target. This
means that the boot will continue even if this swap device
is not activated successfully.
Swap files must
include a [Swap] section, which carries information about
the swap device it supervises. A number of options that may
be used in this section are shared with other unit types.
These options are documented in systemd.exec(5) and
systemd.kill(5). The options specific to the [Swap]
section of swap units are the following:
Takes an absolute path of a
device node or file to use for paging. See swapon(8)
for details. If this refers to a device node, a dependency
on the respective device unit is automatically created. (See
systemd.device(5) for more information.) If this
refers to a file, a dependency on the respective mount unit
is automatically created. (See systemd.mount(5) for
more information.) This option is mandatory.
Swap priority to use when
activating the swap device or file. This takes an integer.
This setting is optional and ignored when the priority is
set by pri= in the Options= key.
May contain an option string
for the swap device. This may be used for controlling
discard options among other functionality, if the swap
backing device supports the discard or trim operation. (See
swapon(8) for more information.)
Configures the time to wait for
the swapon command to finish. If a command does not exit
within the configured time, the swap will be considered
failed and be shut down again. All commands still running
will be terminated forcibly via SIGTERM, and after
another delay of this time with SIGKILL. (See
KillMode= in systemd.kill(5).) Takes a
unit−less value in seconds, or a time span value such
as "5min 20s". Pass "0" to disable the
timeout logic. Defaults to DefaultTimeoutStartSec=
from the manager configuration file (see
systemd.exec(5) and systemd.kill(5) for more