chiark / gitweb /
dbus: use _cleanup_free_ instead of freeing ourself
[elogind.git] / man / systemd.cgroup.xml
index e31faf522e698c343c295f76bc962dc32969941a..cc0eb15abb901976db4a2641ab3c793489c7128f 100644 (file)
@@ -44,7 +44,7 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
 
   <refnamediv>
     <refname>systemd.cgroup</refname>
 
   <refnamediv>
     <refname>systemd.cgroup</refname>
-    <refpurpose>Cgroup configuration unit settings</refpurpose>
+    <refpurpose>Control Group configuration unit settings</refpurpose>
   </refnamediv>
 
   <refsynopsisdiv>
   </refnamediv>
 
   <refsynopsisdiv>
@@ -66,6 +66,10 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
     configuration options which configure the control group settings
     for spawned processes.</para>
 
     configuration options which configure the control group settings
     for spawned processes.</para>
 
+    <para>Control Groups is a concept for organizing processes in a
+    hierarch tree of named groups for the purpose of resource
+    management.</para>
+
     <para>This man page lists the configuration options shared by
     those six unit types. See
     <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
     <para>This man page lists the configuration options shared by
     those six unit types. See
     <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
@@ -90,34 +94,19 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
     for cgroup configuration:</para>
 
     <variablelist class='unit-directives'>
     for cgroup configuration:</para>
 
     <variablelist class='unit-directives'>
-      <varlistentry>
-        <term><varname>CPUAccounting=</varname></term>
-
-        <listitem>
-          <para>Turn on CPU usage accounting for this
-          unit.</para>
-        </listitem>
-      </varlistentry>
 
       <varlistentry>
 
       <varlistentry>
-        <term><varname>BlockIOAccounting=</varname></term>
-
-        <listitem>
-          <para>Turn on Block IO bandwidth accounting
-          for this unit.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><varname>MemoryAccounting=</varname></term>
+        <term><varname>CPUAccounting=</varname></term>
 
         <listitem>
 
         <listitem>
-          <para>Turn on process and kernel memory
-          accounting for this unit.</para>
+          <para>Turn on CPU usage accounting for this unit. Takes a
+          boolean argument. Note that turning on CPU accounting for
+          one unit might also implicitly turn it on for all units
+          contained in the same slice and for all its parent slices and
+          the units contained therein.</para>
         </listitem>
       </varlistentry>
 
         </listitem>
       </varlistentry>
 
-
       <varlistentry>
         <term><varname>CPUShares=<replaceable>weight</replaceable></varname></term>
 
       <varlistentry>
         <term><varname>CPUShares=<replaceable>weight</replaceable></varname></term>
 
@@ -127,12 +116,24 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
           controls the <literal>cpu.shares</literal> control group
           attribute, which defaults to 1024. For details about this
           control group attribute, see <ulink
           controls the <literal>cpu.shares</literal> control group
           attribute, which defaults to 1024. For details about this
           control group attribute, see <ulink
-          url="http://www.kernel.org/doc/Documentation/scheduler/sched-design-CFS.txt">sched-design-CFS.txt</ulink>.</para>
+          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>
 
 
           <para>Implies <literal>CPUAccounting=true</literal>.</para>
         </listitem>
       </varlistentry>
 
+      <varlistentry>
+        <term><varname>MemoryAccounting=</varname></term>
+
+        <listitem>
+          <para>Turn on process and kernel memory accounting for this
+          unit. Takes a boolean argument. Note that turning on memory
+          accounting for one unit might also implicitly turn it on for
+          all units contained in the same slice and for all its parent
+          slices and the units contained therein.</para>
+        </listitem>
+      </varlistentry>
+
       <varlistentry>
         <term><varname>MemoryLimit=<replaceable>bytes</replaceable></varname></term>
         <term><varname>MemorySoftLimit=<replaceable>bytes</replaceable></varname></term>
       <varlistentry>
         <term><varname>MemoryLimit=<replaceable>bytes</replaceable></varname></term>
         <term><varname>MemorySoftLimit=<replaceable>bytes</replaceable></varname></term>
@@ -152,12 +153,24 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
           <literal>memory.soft_limit_in_bytes</literal> control group
           attributes. For details about these control group attributes,
           see <ulink
           <literal>memory.soft_limit_in_bytes</literal> control group
           attributes. For details about these control group attributes,
           see <ulink
-          url="http://www.kernel.org/doc/Documentation/cgroups/memory.txt">memory.txt</ulink>.</para>
+          url="https://www.kernel.org/doc/Documentation/cgroups/memory.txt">memory.txt</ulink>.</para>
 
           <para>Implies <literal>MemoryAccounting=true</literal>.</para>
         </listitem>
       </varlistentry>
 
 
           <para>Implies <literal>MemoryAccounting=true</literal>.</para>
         </listitem>
       </varlistentry>
 
+      <varlistentry>
+        <term><varname>BlockIOAccounting=</varname></term>
+
+        <listitem>
+          <para>Turn on Block IO accounting for this unit. Takes a
+          boolean argument. Note that turning on block IO accounting
+          for one unit might also implicitly turn it on for all units
+          contained in the same slice and all for its parent slices and
+          the units contained therein.</para>
+        </listitem>
+      </varlistentry>
+
       <varlistentry>
         <term><varname>BlockIOWeight=<replaceable>weight</replaceable></varname></term>
 
       <varlistentry>
         <term><varname>BlockIOWeight=<replaceable>weight</replaceable></varname></term>
 
@@ -172,7 +185,11 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
         defaults to 1000. For details about
         this control group attribute, see
         <ulink
         defaults to 1000. For details about
         this control group attribute, see
         <ulink
-            url="http://www.kernel.org/doc/Documentation/cgroups/blkio-controller.txt">blkio-controller.txt</ulink>.</para></listitem>
+            url="https://www.kernel.org/doc/Documentation/cgroups/blkio-controller.txt">blkio-controller.txt</ulink>.</para>
+
+        <para>Implies
+        <literal>BlockIOAccounting=true</literal>.</para>
+        </listitem>
       </varlistentry>
 
       <varlistentry>
       </varlistentry>
 
       <varlistentry>
@@ -191,7 +208,10 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
           attribute, which defaults to 1000. Use this option multiple
           times to set weights for multiple devices. For details about
           this control group attribute, see <ulink
           attribute, which defaults to 1000. Use this option multiple
           times to set weights for multiple devices. For details about
           this control group attribute, see <ulink
-          url="http://www.kernel.org/doc/Documentation/cgroups/blkio-controller.txt">blkio-controller.txt</ulink>.</para>
+          url="https://www.kernel.org/doc/Documentation/cgroups/blkio-controller.txt">blkio-controller.txt</ulink>.</para>
+
+          <para>Implies
+          <literal>BlockIOAccounting=true</literal>.</para>
         </listitem>
       </varlistentry>
 
         </listitem>
       </varlistentry>
 
@@ -215,8 +235,11 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
           attributes. Use this option multiple times to set bandwidth
           limits for multiple devices. For details about these control
           group attributes, see
           attributes. Use this option multiple times to set bandwidth
           limits for multiple devices. For details about these control
           group attributes, see
-          <ulink url="http://www.kernel.org/doc/Documentation/cgroups/blkio-controller.txt">blkio-controller.txt</ulink>.
+          <ulink url="https://www.kernel.org/doc/Documentation/cgroups/blkio-controller.txt">blkio-controller.txt</ulink>.
           </para>
           </para>
+
+          <para>Implies
+          <literal>BlockIOAccounting=true</literal>.</para>
         </listitem>
       </varlistentry>
 
         </listitem>
       </varlistentry>
 
@@ -236,7 +259,7 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
           <literal>devices.deny</literal> control group
           attributes. For details about these control group attributes,
           see <ulink
           <literal>devices.deny</literal> control group
           attributes. For details about these control group attributes,
           see <ulink
-          url="http://www.kernel.org/doc/Documentation/cgroups/devices.txt">devices.txt</ulink>.</para>
+          url="https://www.kernel.org/doc/Documentation/cgroups/devices.txt">devices.txt</ulink>.</para>
         </listitem>
       </varlistentry>
 
         </listitem>
       </varlistentry>
 
@@ -283,6 +306,29 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
           </variablelist>
         </listitem>
       </varlistentry>
           </variablelist>
         </listitem>
       </varlistentry>
+
+      <varlistentry>
+        <term><varname>Slice=</varname></term>
+
+        <listitem>
+          <para>The name of the slice unit to place the unit
+          in. Defaults to <filename>system.slice</filename> for all
+          non-instantiated units of all unit types (except for slice
+          units themselves see below). Instance units are by default
+          placed in a subslice of <filename>system.slice</filename>
+          that is named after the template name.</para>
+
+          <para>This option may be used to arrange systemd units in a
+          hierarchy of slices each of which might have resource
+          settings applied.</para>
+
+          <para>For units of type slice, the only accepted value for
+          this setting is the parent slice. Since the name of a slice
+          unit implies the parent slice, it is hence redundant to ever
+          set this parameter directly for slice units.</para>
+        </listitem>
+      </varlistentry>
+
     </variablelist>
   </refsect1>
 
     </variablelist>
   </refsect1>
 
@@ -298,11 +344,12 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
       <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd.swap</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd.swap</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+      <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
       The documentation for control groups and specific controllers in the Linux kernel:
       The documentation for control groups and specific controllers in the Linux kernel:
-      <ulink url="http://www.kernel.org/doc/Documentation/cgroups/cgroups.txt">cgroups.txt</ulink>,
-      <ulink url="http://www.kernel.org/doc/Documentation/cgroups/cpuacct.txt">cpuacct.txt</ulink>,
-      <ulink url="http://www.kernel.org/doc/Documentation/cgroups/memory.txt">memory.txt</ulink>,
-      <ulink url="http://www.kernel.org/doc/Documentation/cgroups/blkio-controller.txt">blkio-controller.txt</ulink>.
+      <ulink url="https://www.kernel.org/doc/Documentation/cgroups/cgroups.txt">cgroups.txt</ulink>,
+      <ulink url="https://www.kernel.org/doc/Documentation/cgroups/cpuacct.txt">cpuacct.txt</ulink>,
+      <ulink url="https://www.kernel.org/doc/Documentation/cgroups/memory.txt">memory.txt</ulink>,
+      <ulink url="https://www.kernel.org/doc/Documentation/cgroups/blkio-controller.txt">blkio-controller.txt</ulink>.
     </para>
   </refsect1>
 </refentry>
     </para>
   </refsect1>
 </refentry>