-<?xml version='1.0'?> <!--*-nxml-*-->
-<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"?>
+<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
-This file is part of systemd.
+ This file is part of systemd.
-Copyright 2013 Zbigniew Jędrzejewski-Szmek
+ Copyright 2013 Zbigniew Jędrzejewski-Szmek
-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.
+ 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.
-systemd is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-Lesser General Public License for more details.
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
-You should have received a copy of the GNU Lesser General Public License
-along with systemd; If not, see <http://www.gnu.org/licenses/>.
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
<refentry id="systemd.resource-control">
sockets, mount points, and swap devices share a subset of
configuration options for resource control of spawned
processes. Internally, this relies on the Control Groups
- kernel concept for organizing processes in a hierarchial tree of
+ kernel concept for organizing processes in a hierarchical tree of
named groups for the purpose of resource management.</para>
<para>This man page lists the configuration options shared by
<listitem>
<para>Assign the specified CPU time share weight to the
- processes executed. Takes an integer value. This controls
- the <literal>cpu.shares</literal> control group attribute,
- which defaults to 1024. For details about this control group
- attribute, see <ulink
+ processes executed. Those options take an integer value and
+ control the <literal>cpu.shares</literal> control group
+ attribute, which defaults to 1024. For details about this
+ control group attribute, see <ulink
url="https://www.kernel.org/doc/Documentation/scheduler/sched-design-CFS.txt">sched-design-CFS.txt</ulink>.
- The available CPU time is split up among all units within one
- slice relative to their CPU time share weight.</para>
+ The available CPU time is split up among all units within
+ one slice relative to their CPU time share weight.</para>
<para>While <varname>StartupCPUShares=</varname> only
applies to the startup phase of the system,
- <varname>CPUShares=</varname> applies to the later runtime
- of the system, and if the former is not set also to the
- startup phase. This allows priorizing specific services at
- boot-up differently than during runtime.</para>
-
- <para>Implies <literal>CPUAccounting=true</literal>.</para>
+ <varname>CPUShares=</varname> applies to normal runtime of
+ the system, and if the former is not set also to the startup
+ phase. Using <varname>StartupCPUShares=</varname> allows
+ prioritizing specific services at boot-up differently than
+ during normal runtime.</para>
+
+ <para>Those options imply
+ <literal>CPUAccounting=true</literal>.</para>
</listitem>
</varlistentry>
executed. Takes a percentage value, suffixed with "%". The
percentage specifies how much CPU time the unit shall get at
maximum, relative to the total CPU time available on one
- CPU. Use values > 100% for alloting CPU time on more than
+ CPU. Use values > 100% for allotting CPU time on more than
one CPU. This controls the
<literal>cpu.cfs_quota_us</literal> control group
attribute. For details about this control group attribute,
see <ulink
url="https://www.kernel.org/doc/Documentation/scheduler/sched-design-CFS.txt">sched-design-CFS.txt</ulink>.</para>
- <para>Example: <varname>CPUShares=20%</varname> ensures that
+ <para>Example: <varname>CPUQuota=20%</varname> ensures that
the executed processes will never get more than 20% CPU time
on one CPU.</para>
applies to the startup phase of the system,
<varname>BlockIOWeight=</varname> applies to the later runtime
of the system, and if the former is not set also to the
- startup phase. This allows priorizing specific services at
+ startup phase. This allows prioritizing specific services at
boot-up differently than during runtime.</para>
<para>Implies
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><varname>Delegate=</varname></term>
+
+ <listitem>
+ <para>Turns on delegation of further resource control
+ partitioning to processes of the unit. For unprivileged
+ services (i.e. those using the <varname>User=</varname>
+ setting) this allows processes to create a subhierarchy
+ beneath its control group path. For privileged services and
+ scopes this ensures the processes will have all control
+ group controllers enabled.</para>
+ </listitem>
+ </varlistentry>
+
</variablelist>
</refsect1>