| <?xml version='1.0'?> |
| <!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+ --> |
| |
| <refentry id="systemd.slice"> |
| <refentryinfo> |
| <title>systemd.slice</title> |
| <productname>systemd</productname> |
| </refentryinfo> |
| |
| <refmeta> |
| <refentrytitle>systemd.slice</refentrytitle> |
| <manvolnum>5</manvolnum> |
| </refmeta> |
| |
| <refnamediv> |
| <refname>systemd.slice</refname> |
| <refpurpose>Slice unit configuration</refpurpose> |
| </refnamediv> |
| |
| <refsynopsisdiv> |
| <para><filename><replaceable>slice</replaceable>.slice</filename></para> |
| </refsynopsisdiv> |
| |
| <refsect1> |
| <title>Description</title> |
| |
| <para>A unit configuration file whose name ends in <literal>.slice</literal> encodes information about a slice |
| unit. A slice unit is a concept for hierarchically managing resources of a group of processes. This management is |
| performed by creating a node in the Linux Control Group (cgroup) tree. Units that manage processes (primarily scope |
| and service units) may be assigned to a specific slice. For each slice, certain resource limits may be set that |
| apply to all processes of all units contained in that slice. Slices are organized hierarchically in a tree. The |
| name of the slice encodes the location in the tree. The name consists of a dash-separated series of names, which |
| describes the path to the slice from the root slice. The root slice is named <filename>-.slice</filename>. Example: |
| <filename>foo-bar.slice</filename> is a slice that is located within <filename>foo.slice</filename>, which in turn |
| is located in the root slice <filename>-.slice</filename>. |
| </para> |
| |
| <para>Note that slice units cannot be templated, nor is possible to add multiple names to a slice unit by creating |
| additional symlinks to its unit file.</para> |
| |
| <para>By default, service and scope units are placed in |
| <filename>system.slice</filename>, virtual machines and containers |
| registered with |
| <citerefentry><refentrytitle>systemd-machined</refentrytitle><manvolnum>8</manvolnum></citerefentry> |
| are found in <filename>machine.slice</filename>, and user sessions |
| handled by |
| <citerefentry><refentrytitle>systemd-logind</refentrytitle><manvolnum>8</manvolnum></citerefentry> |
| in <filename>user.slice</filename>. See |
| <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry> |
| for more information.</para> |
| |
| <para>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 |
| slice specific configuration options are configured in |
| the [Slice] section. Currently, only generic resource control settings |
| as described in |
| <citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry> are allowed. |
| </para> |
| |
| <para>See the <ulink |
| url="https://www.freedesktop.org/wiki/Software/systemd/ControlGroupInterface/">New |
| Control Group Interfaces</ulink> for an introduction on how to make |
| use of slice units from programs.</para> |
| </refsect1> |
| |
| <refsect1> |
| <title>Automatic Dependencies</title> |
| |
| <refsect2> |
| <title>Implicit Dependencies</title> |
| |
| <para>The following dependencies are implicitly added:</para> |
| |
| <itemizedlist> |
| <listitem><para>Slice units automatically gain dependencies of type |
| <varname>After=</varname> and <varname>Requires=</varname> on |
| their immediate parent slice unit.</para></listitem> |
| </itemizedlist> |
| </refsect2> |
| |
| <refsect2> |
| <title>Default Dependencies</title> |
| |
| <para>The following dependencies are added unless <varname>DefaultDependencies=no</varname> is set:</para> |
| |
| <itemizedlist> |
| <listitem><para>Slice units will automatically have dependencies of type <varname>Conflicts=</varname> and |
| <varname>Before=</varname> on |
| <filename>shutdown.target</filename>. These ensure that slice units are removed prior to system shutdown. |
| Only slice units involved with late system shutdown should disable |
| <varname>DefaultDependencies=</varname> option.</para></listitem> |
| </itemizedlist> |
| </refsect2> |
| </refsect1> |
| |
| <refsect1> |
| <title>See Also</title> |
| <para> |
| <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, |
| <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>, |
| <citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry>, |
| <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>, |
| <citerefentry><refentrytitle>systemd.scope</refentrytitle><manvolnum>5</manvolnum></citerefentry>, |
| <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>, |
| <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry> |
| </para> |
| </refsect1> |
| |
| </refentry> |