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>
-    <refpurpose>Cgroup configuration unit settings</refpurpose>
+    <refpurpose>Control Group configuration unit settings</refpurpose>
   </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>
 
+    <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>
@@ -90,34 +94,19 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
     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>
-        <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>
-          <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>
 
-
       <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
-          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>
 
+      <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>
@@ -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
-          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>
 
+      <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>
 
@@ -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
-            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>
@@ -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
-          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>
 
@@ -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
-          <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>Implies
+          <literal>BlockIOAccounting=true</literal>.</para>
         </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
-          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>
 
@@ -283,6 +306,29 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
           </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>
 
@@ -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.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
       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>