mirror of
https://github.com/systemd/systemd.git
synced 2024-10-30 14:55:37 +03:00
eef34a1d8f
Fixes: #17886
264 lines
13 KiB
XML
264 lines
13 KiB
XML
<?xml version='1.0'?> <!--*-nxml-*-->
|
|
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
|
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
|
|
|
|
<refentry id="systemd.swap"
|
|
xmlns:xi="http://www.w3.org/2001/XInclude">
|
|
|
|
<refentryinfo>
|
|
<title>systemd.swap</title>
|
|
<productname>systemd</productname>
|
|
</refentryinfo>
|
|
|
|
<refmeta>
|
|
<refentrytitle>systemd.swap</refentrytitle>
|
|
<manvolnum>5</manvolnum>
|
|
</refmeta>
|
|
|
|
<refnamediv>
|
|
<refname>systemd.swap</refname>
|
|
<refpurpose>Swap unit configuration</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<para><filename><replaceable>swap</replaceable>.swap</filename></para>
|
|
</refsynopsisdiv>
|
|
|
|
<refsect1>
|
|
<title>Description</title>
|
|
|
|
<para>A unit configuration file whose name ends in
|
|
<literal>.swap</literal> encodes information about a swap device
|
|
or file for memory paging controlled and supervised by
|
|
systemd.</para>
|
|
|
|
<para>This man page lists the configuration options specific to
|
|
this unit type. See
|
|
<citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
|
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 [Swap] section.</para>
|
|
|
|
<para>Additional options are listed in
|
|
<citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
|
which define the execution environment the <citerefentry
|
|
project='man-pages'><refentrytitle>swapon</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
|
program is executed in, in
|
|
<citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
|
which define the way these processes are
|
|
terminated, and in
|
|
<citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
|
which configure resource control settings for these processes of the
|
|
unit.</para>
|
|
|
|
<para>Swap units must be named after the devices or files they control. Example: the swap device <filename
|
|
index="false">/dev/sda5</filename> must be configured in a unit file <filename>dev-sda5.swap</filename>. For
|
|
details about the escaping logic used to convert a file system path to a unit name, see
|
|
<citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>. Note that swap
|
|
units cannot be templated, nor is possible to add multiple names to a swap unit by creating additional symlinks to
|
|
it.</para>
|
|
|
|
<para>Note that swap support on Linux is privileged, swap units are hence only available in the system
|
|
service manager (and root's user service manager), but not in unprivileged user's service manager.</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Automatic Dependencies</title>
|
|
|
|
<refsect2>
|
|
<title>Implicit Dependencies</title>
|
|
|
|
<para>The following dependencies are implicitly added:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem><para>All swap units automatically get the
|
|
<varname>BindsTo=</varname> and <varname>After=</varname>
|
|
dependencies on the device units or the mount units of the files
|
|
they are activated from.</para></listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Additional implicit dependencies may be added as result of
|
|
execution and resource control parameters as documented in
|
|
<citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
|
and
|
|
<citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
|
|
</refsect2>
|
|
|
|
<refsect2>
|
|
<title>Default Dependencies</title>
|
|
|
|
<para>The following dependencies are added unless <varname>DefaultDependencies=no</varname> is set:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem><para>Swap units automatically acquire a <varname>Conflicts=</varname> and a
|
|
<varname>Before=</varname> dependency on <filename>umount.target</filename> so that they are deactivated at
|
|
shutdown as well as a <varname>Before=swap.target</varname> dependency.</para></listitem>
|
|
</itemizedlist>
|
|
</refsect2>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title><filename>fstab</filename></title>
|
|
|
|
<para>Swap units may either be configured via unit files, or via
|
|
<filename>/etc/fstab</filename> (see
|
|
<citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
|
for details). Swaps listed in <filename>/etc/fstab</filename> will
|
|
be converted into native units dynamically at boot and when the
|
|
configuration of the system manager is reloaded. See
|
|
<citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
|
for details about the conversion.</para>
|
|
|
|
<para>If a swap device or file is configured in both
|
|
<filename>/etc/fstab</filename> and a unit file, the configuration
|
|
in the latter takes precedence.</para>
|
|
|
|
<para>When reading <filename>/etc/fstab</filename>, a few special
|
|
options are understood by systemd which influence how dependencies
|
|
are created for swap units.</para>
|
|
|
|
<variablelist class='fstab-options'>
|
|
<varlistentry>
|
|
<term><option>noauto</option></term>
|
|
<term><option>auto</option></term>
|
|
|
|
<listitem><para>With <option>noauto</option>, the swap unit
|
|
will not be added as a dependency for
|
|
<filename>swap.target</filename>. This means that it will not
|
|
be activated automatically during boot, unless it is pulled in
|
|
by some other unit. The <option>auto</option> option has the
|
|
opposite meaning and is the default.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>nofail</option></term>
|
|
|
|
<listitem><para>With <option>nofail</option>, the swap unit
|
|
will be only wanted, not required by
|
|
<filename>swap.target</filename>. This means that the boot
|
|
will continue even if this swap device is not activated
|
|
successfully.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<xi:include href="systemd.mount.xml" xpointer="device-timeout" />
|
|
|
|
<varlistentry>
|
|
<term><option>x-systemd.makefs</option></term>
|
|
|
|
<listitem><para>The swap structure will be initialized on the device. If the device is not
|
|
"empty", i.e. it contains any signature, the operation will be skipped. It is hence expected
|
|
that this option remains set even after the device has been initialized.</para>
|
|
|
|
<para>Note that this option can only be used in <filename>/etc/fstab</filename>, and will be
|
|
ignored when part of the <varname>Options=</varname> setting in a unit file.</para>
|
|
|
|
<para>See
|
|
<citerefentry><refentrytitle>systemd-mkswap@.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
|
and the discussion of
|
|
<citerefentry project='man-pages'><refentrytitle>wipefs</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
|
in <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Options</title>
|
|
|
|
<para>Swap unit 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
|
|
<citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
|
and
|
|
<citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
|
|
The options specific to the [Swap] section of swap units are the
|
|
following:</para>
|
|
|
|
<variablelist class='unit-directives'>
|
|
|
|
<varlistentry>
|
|
<term><varname>What=</varname></term>
|
|
<listitem><para>Takes an absolute path of a device node or file to use for paging. See <citerefentry
|
|
project='man-pages'><refentrytitle>swapon</refentrytitle><manvolnum>8</manvolnum></citerefentry> for
|
|
details. If this refers to a device node, a dependency on the respective device unit is automatically
|
|
created. (See
|
|
<citerefentry><refentrytitle>systemd.device</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
|
for more information.) If this refers to a file, a dependency on the respective mount unit is
|
|
automatically created. (See
|
|
<citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry> for
|
|
more information.) This option is mandatory. Note that the usual specifier expansion is applied to
|
|
this setting, literal percent characters should hence be written as
|
|
<literal class='specifiers'>%%</literal>.</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><varname>Priority=</varname></term>
|
|
|
|
<listitem><para>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 <option>pri=</option> in the
|
|
<varname>Options=</varname> key.</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><varname>Options=</varname></term>
|
|
|
|
<listitem><para>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
|
|
<citerefentry project='man-pages'><refentrytitle>swapon</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
|
for more information.) Note that the usual specifier expansion is applied to this setting, literal percent
|
|
characters should hence be written as <literal>%%</literal>.</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><varname>TimeoutSec=</varname></term>
|
|
<listitem><para>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 <constant>SIGTERM</constant>, and after another
|
|
delay of this time with <constant>SIGKILL</constant>. (See
|
|
<option>KillMode=</option> in
|
|
<citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>.)
|
|
Takes a unit-less value in seconds, or a time span value such
|
|
as "5min 20s". Pass <literal>0</literal> to disable the
|
|
timeout logic. Defaults to
|
|
<varname>DefaultTimeoutStartSec=</varname> from the manager
|
|
configuration file (see
|
|
<citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>).
|
|
</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<para>Check
|
|
<citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
|
and
|
|
<citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
|
for more settings.</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>See Also</title>
|
|
<para>
|
|
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>systemd.device</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
|
<citerefentry project='man-pages'><refentrytitle>swapon</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
|
|
</para>
|
|
</refsect1>
|
|
|
|
</refentry>
|