chiark / gitweb /
networkd: support vxlan parameters
[elogind.git] / man / systemd.resource-control.xml
index 33d2f2e..b050a17 100644 (file)
@@ -1,4 +1,4 @@
-<?xml version='1.0'?> <!--*-nxml-*-->
+<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*-->
 <?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"?>
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
@@ -115,18 +115,28 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
 
       <varlistentry>
         <term><varname>CPUShares=<replaceable>weight</replaceable></varname></term>
+        <term><varname>StartupCPUShares=<replaceable>weight</replaceable></varname></term>
 
         <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
-          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 a
-          slice relative to their CPU time share weight.</para>
-
-          <para>Implies <literal>CPUAccounting=true</literal>.</para>
+          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>
+
+          <para>While <varname>StartupCPUShares=</varname> only
+          applies to the startup phase of the system,
+          <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
+          priorizing specific services at boot-up differently than
+          during normal runtime.</para>
+
+          <para>Those options imply
+          <literal>CPUAccounting=true</literal>.</para>
         </listitem>
       </varlistentry>
 
@@ -135,20 +145,17 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
 
         <listitem>
           <para>Assign the specified CPU time quota to the processes
-          executed. Takes a percentage value (suffixed with "%") or an
-          absolute time (suffixed by one of the common time units, us,
-          ms, s, ...). 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 &gt; 100% for alloting CPU
-          time on more than one CPU. If an absolute time is specified
-          the processes of this unit will get this much absolute time
-          within each quota period, at maximum. This controls the
+          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 &gt; 100% for alloting 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>
 
@@ -157,32 +164,6 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
       </varlistentry>
 
       <varlistentry>
-        <term><varname>CPUQuotaPeriodSec=</varname></term>
-
-        <listitem>
-          <para>Specify the CPU quota period to use. Defaults to
-          100ms. This controls the <literal>cpu.cfs_period_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>Implies <literal>CPUAccounting=true</literal>.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><varname>StartupCPUShares=<replaceable>weight</replaceable></varname></term>
-
-        <listitem>
-          <para>Similar to <varname>CPUShares=</varname>. However,
-          only be assigned on startup state. After finishing startup, will be
-          re-assigned by <varname>CPUShares=</varname>. If
-          <varname>CPUShares=</varname> is not specified, then it will be
-          assigned to default(1024).</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
         <term><varname>MemoryAccounting=</varname></term>
 
         <listitem>
@@ -233,19 +214,24 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
 
       <varlistentry>
         <term><varname>BlockIOWeight=<replaceable>weight</replaceable></varname></term>
+        <term><varname>StartupBlockIOWeight=<replaceable>weight</replaceable></varname></term>
 
-        <listitem><para>Set the default
-        overall block IO weight for the
-        executed processes. Takes a single
-        weight value (between 10 and 1000) to
-        set the default block IO weight. This
-        controls the
-        <literal>blkio.weight</literal>
-        control group attribute, which
-        defaults to 1000. For details about
-        this control group attribute, see
-        <ulink
-            url="https://www.kernel.org/doc/Documentation/cgroups/blkio-controller.txt">blkio-controller.txt</ulink>.</para>
+        <listitem><para>Set the default overall block IO weight for
+        the executed processes. Takes a single weight value (between
+        10 and 1000) to set the default block IO weight. This controls
+        the <literal>blkio.weight</literal> control group attribute,
+        which defaults to 1000. For details about this control group
+        attribute, see <ulink
+        url="https://www.kernel.org/doc/Documentation/cgroups/blkio-controller.txt">blkio-controller.txt</ulink>.
+        The available IO bandwidth is split up among all units within
+        one slice relative to their block IO weight.</para>
+
+        <para>While <varname>StartupBlockIOWeight=</varname> only
+        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
+        boot-up differently than during runtime.</para>
 
         <para>Implies
         <literal>BlockIOAccounting=true</literal>.</para>
@@ -253,18 +239,6 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
       </varlistentry>
 
       <varlistentry>
-        <term><varname>StartupBlockIOWeight=<replaceable>weight</replaceable></varname></term>
-
-        <listitem>
-          <para>Similar to <varname>BlockIOWeight=</varname>. However,
-          only be assigned on startup state. After finishing startup, will be
-          re-assigned by <varname>BlockIOWeight=</varname>. If
-          <varname>BlockIOWeight=</varname> is not specified, then it will be
-          assigned to default(1000).</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
         <term><varname>BlockIODeviceWeight=<replaceable>device</replaceable> <replaceable>weight</replaceable></varname></term>
 
         <listitem>
@@ -420,6 +394,20 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
         </listitem>
       </varlistentry>
 
+      <varlistentry>
+        <term><varname>Delegate=</varname></term>
+
+        <listitem>
+          <para>Turns on delegation of further resource control
+          partitioning to processes of the unit. For unpriviliged
+          services (i.e. those using the <varname>User=</varname>
+          setting) this allows processes to create a subhierarchy
+          beneath its control group path. For priviliged services and
+          scopes this ensures the processes will have all control
+          group controllers enabled.</para>
+        </listitem>
+      </varlistentry>
+
     </variablelist>
   </refsect1>