chiark / gitweb /
man: document four basic slices
[elogind.git] / man / systemd-system.conf.xml
1 <?xml version='1.0'?> <!--*-nxml-*-->
2 <?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"?>
3 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
4         "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
5
6 <!--
7   This file is part of systemd.
8
9   Copyright 2010 Lennart Poettering
10
11   systemd is free software; you can redistribute it and/or modify it
12   under the terms of the GNU Lesser General Public License as published by
13   the Free Software Foundation; either version 2.1 of the License, or
14   (at your option) any later version.
15
16   systemd is distributed in the hope that it will be useful, but
17   WITHOUT ANY WARRANTY; without even the implied warranty of
18   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19   Lesser General Public License for more details.
20
21   You should have received a copy of the GNU Lesser General Public License
22   along with systemd; If not, see <http://www.gnu.org/licenses/>.
23 -->
24
25 <refentry id="systemd-system.conf">
26         <refentryinfo>
27                 <title>systemd-system.conf</title>
28                 <productname>systemd</productname>
29
30                 <authorgroup>
31                         <author>
32                                 <contrib>Developer</contrib>
33                                 <firstname>Lennart</firstname>
34                                 <surname>Poettering</surname>
35                                 <email>lennart@poettering.net</email>
36                         </author>
37                 </authorgroup>
38         </refentryinfo>
39
40         <refmeta>
41                 <refentrytitle>systemd-system.conf</refentrytitle>
42                 <manvolnum>5</manvolnum>
43         </refmeta>
44
45         <refnamediv>
46                 <refname>systemd-system.conf</refname>
47                 <refname>systemd-user.conf</refname>
48                 <refpurpose>System and session service manager configuration file</refpurpose>
49         </refnamediv>
50
51         <refsynopsisdiv>
52                 <para><filename>/etc/systemd/system.conf</filename></para>
53                 <para><filename>/etc/systemd/user.conf</filename></para>
54         </refsynopsisdiv>
55
56         <refsect1>
57                 <title>Description</title>
58
59                 <para>When run as system instance systemd reads the
60                 configuration file <filename>system.conf</filename>,
61                 otherwise <filename>user.conf</filename>. These
62                 configuration files contain a few settings controlling
63                 basic manager operations.</para>
64
65         </refsect1>
66
67         <refsect1>
68                 <title>Options</title>
69
70                 <para>All options are configured in the
71                 <literal>[Manager]</literal> section:</para>
72
73                 <variablelist class='systemd-directives'>
74
75                         <varlistentry>
76                                 <term><varname>LogLevel=</varname></term>
77                                 <term><varname>LogTarget=</varname></term>
78                                 <term><varname>LogColor=</varname></term>
79                                 <term><varname>LogLocation=</varname></term>
80                                 <term><varname>DumpCore=yes</varname></term>
81                                 <term><varname>CrashShell=no</varname></term>
82                                 <term><varname>ShowStatus=yes</varname></term>
83                                 <term><varname>CrashChVT=1</varname></term>
84                                 <term><varname>DefaultStandardOutput=journal</varname></term>
85                                 <term><varname>DefaultStandardError=inherit</varname></term>
86
87                                 <listitem><para>Configures various
88                                 parameters of basic manager
89                                 operation. These options may be
90                                 overridden by the respective command
91                                 line arguments. See
92                                 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
93                                 for details about these command line
94                                 arguments.</para></listitem>
95                         </varlistentry>
96
97                         <varlistentry>
98                                 <term><varname>CPUAffinity=</varname></term>
99
100                                 <listitem><para>Configures the initial
101                                 CPU affinity for the init
102                                 process. Takes a space-separated list
103                                 of CPU indexes.</para></listitem>
104                         </varlistentry>
105
106                         <varlistentry>
107                                 <term><varname>DefaultControllers=cpu</varname></term>
108
109                                 <listitem><para>Configures in which
110                                 control group hierarchies to create
111                                 per-service cgroups automatically, in
112                                 addition to the
113                                 <literal>name=systemd</literal> named
114                                 hierarchy. Defaults to
115                                 <literal>cpu</literal>. Takes a
116                                 space-separated list of controller
117                                 names. Pass the empty string to ensure
118                                 that systemd does not touch any
119                                 hierarchies but its own.</para>
120
121                                 <para>Note that the default value of
122                                 'cpu' will make realtime scheduling
123                                 unavailable to system services. See
124                                 <ulink
125                                 url="http://www.freedesktop.org/wiki/Software/systemd/MyServiceCantGetRealtime">My
126                                 Service Can't Get Realtime!</ulink>
127                                 for more
128                                 information.</para></listitem>
129                         </varlistentry>
130
131                         <varlistentry>
132                                 <term><varname>JoinControllers=cpu,cpuacct,cpuset net_cls,netprio</varname></term>
133
134                                 <listitem><para>Configures controllers
135                                 that shall be mounted in a single
136                                 hierarchy. By default systemd will
137                                 mount all controllers which are
138                                 enabled in the kernel in individual
139                                 hierarchies, with the exception of
140                                 those listed in this setting. Takes a
141                                 space-separated list of comma-separated
142                                 controller names, in order
143                                 to allow multiple joined
144                                 hierarchies. Defaults to
145                                 'cpu,cpuacct'. Pass an empty string to
146                                 ensure that systemd mounts all
147                                 controllers in separate
148                                 hierarchies.</para>
149
150                                 <para>Note that this option is only
151                                 applied once, at very early boot. If
152                                 you use an initial RAM disk (initrd)
153                                 that uses systemd, it might hence be
154                                 necessary to rebuild the initrd if
155                                 this option is changed, and make sure
156                                 the new configuration file is included
157                                 in it. Otherwise the initrd might
158                                 mount the controller hierarchies in a
159                                 different configuration than intended,
160                                 and the main system cannot remount
161                                 them anymore.</para></listitem>
162                         </varlistentry>
163
164                         <varlistentry>
165                                 <term><varname>RuntimeWatchdogSec=</varname></term>
166                                 <term><varname>ShutdownWatchdogSec=</varname></term>
167
168                                 <listitem><para>Configure the hardware
169                                 watchdog at runtime and at
170                                 reboot. Takes a timeout value in
171                                 seconds (or in other time units if
172                                 suffixed with <literal>ms</literal>,
173                                 <literal>min</literal>,
174                                 <literal>h</literal>,
175                                 <literal>d</literal>,
176                                 <literal>w</literal>). If
177                                 <varname>RuntimeWatchdogSec=</varname>
178                                 is set to a non-zero value the
179                                 watchdog hardware
180                                 (<filename>/dev/watchdog</filename>)
181                                 will be programmed to automatically
182                                 reboot the system if it is not
183                                 contacted within the specified timeout
184                                 interval. The system manager will
185                                 ensure to contact it at least once in
186                                 half the specified timeout
187                                 interval. This feature requires a
188                                 hardware watchdog device to be
189                                 present, as it is commonly the case in
190                                 embedded and server systems. Not all
191                                 hardware watchdogs allow configuration
192                                 of the reboot timeout, in which case
193                                 the closest available timeout is
194                                 picked. <varname>ShutdownWatchdogSec=</varname>
195                                 may be used to configure the hardware
196                                 watchdog when the system is asked to
197                                 reboot. It works as a safety net to
198                                 ensure that the reboot takes place
199                                 even if a clean reboot attempt times
200                                 out. By default
201                                 <varname>RuntimeWatchdogSec=</varname>
202                                 defaults to 0 (off), and
203                                 <varname>ShutdownWatchdogSec=</varname>
204                                 to 10min. These settings have no
205                                 effect if a hardware watchdog is not
206                                 available.</para></listitem>
207                         </varlistentry>
208
209                         <varlistentry>
210                                 <term><varname>CapabilityBoundingSet=</varname></term>
211
212                                 <listitem><para>Controls which
213                                 capabilities to include in the
214                                 capability bounding set for PID 1 and
215                                 its children. See
216                                 <citerefentry><refentrytitle>capabilities</refentrytitle><manvolnum>7</manvolnum></citerefentry>
217                                 for details. Takes a whitespace-separated
218                                 list of capability names as read by
219                                 <citerefentry><refentrytitle>cap_from_name</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
220                                 Capabilities listed will be included
221                                 in the bounding set, all others are
222                                 removed. If the list of capabilities
223                                 is prefixed with ~ all but the listed
224                                 capabilities will be included, the
225                                 effect of the assignment
226                                 inverted. Note that this option also
227                                 affects the respective capabilities in
228                                 the effective, permitted and
229                                 inheritable capability sets. The
230                                 capability bounding set may also be
231                                 individually configured for units
232                                 using the
233                                 <varname>CapabilityBoundingSet=</varname>
234                                 directive for units, but note that
235                                 capabilities dropped for PID 1 cannot
236                                 be regained in individual units, they
237                                 are lost for good.</para></listitem>
238                         </varlistentry>
239
240                         <varlistentry>
241                                 <term><varname>TimerSlackNSec=</varname></term>
242
243                                 <listitem><para>Sets the timer slack
244                                 in nanoseconds for PID 1 which is then
245                                 inherited to all executed processes,
246                                 unless overridden individually, for
247                                 example with the
248                                 <varname>TimerSlackNSec=</varname>
249                                 setting in service units (for details
250                                 see
251                                 <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>). The
252                                 timer slack controls the accuracy of
253                                 wake-ups triggered by timers. See
254                                 <citerefentry><refentrytitle>prctl</refentrytitle><manvolnum>2</manvolnum></citerefentry>
255                                 for more information. Note that in
256                                 contrast to most other time span
257                                 definitions this parameter takes an
258                                 integer value in nano-seconds if no
259                                 unit is specified. The usual time
260                                 units are understood
261                                 too.</para></listitem>
262                         </varlistentry>
263
264                         <varlistentry>
265                                 <term><varname>DefaultEnvironment=</varname></term>
266
267                                 <listitem><para>Sets manager
268                                 environment variables passed to all
269                                 executed processes. Takes a
270                                 space-separated list of variable
271                                 assignments. See
272                                 <citerefentry><refentrytitle>environ</refentrytitle><manvolnum>7</manvolnum></citerefentry>
273                                 for details about environment
274                                 variables.</para>
275
276                                 <para>Example:
277
278                                 <programlisting>DefaultEnvironment="VAR1=word1 word2" VAR2=word3 "VAR3=word 5 6"</programlisting>
279
280                                 Sets three variables
281                                 <literal>VAR1</literal>,
282                                 <literal>VAR2</literal>,
283                                 <literal>VAR3</literal>.</para></listitem>
284                         </varlistentry>
285
286                         <varlistentry>
287                                 <term><varname>DefaultLimitCPU=</varname></term>
288                                 <term><varname>DefaultLimitFSIZE=</varname></term>
289                                 <term><varname>DefaultLimitDATA=</varname></term>
290                                 <term><varname>DefaultLimitSTACK=</varname></term>
291                                 <term><varname>DefaultLimitCORE=</varname></term>
292                                 <term><varname>DefaultLimitRSS=</varname></term>
293                                 <term><varname>DefaultLimitNOFILE=</varname></term>
294                                 <term><varname>DefaultLimitAS=</varname></term>
295                                 <term><varname>DefaultLimitNPROC=</varname></term>
296                                 <term><varname>DefaultLimitMEMLOCK=</varname></term>
297                                 <term><varname>DefaultLimitLOCKS=</varname></term>
298                                 <term><varname>DefaultLimitSIGPENDING=</varname></term>
299                                 <term><varname>DefaultLimitMSGQUEUE=</varname></term>
300                                 <term><varname>DefaultLimitNICE=</varname></term>
301                                 <term><varname>DefaultLimitRTPRIO=</varname></term>
302                                 <term><varname>DefaultLimitRTTIME=</varname></term>
303
304                                 <listitem><para>These settings control
305                                 various default resource limits for
306                                 units. See
307                                 <citerefentry><refentrytitle>setrlimit</refentrytitle><manvolnum>2</manvolnum></citerefentry>
308                                 for details. Use the string
309                                 <varname>infinity</varname> to
310                                 configure no limit on a specific
311                                 resource. These settings may be
312                                 overridden in individual units
313                                 using the corresponding LimitXXX=
314                                 directives. Note that these resource
315                                 limits are only defaults for units,
316                                 they are not applied to PID 1
317                                 itself.</para></listitem>
318                         </varlistentry>
319                 </variablelist>
320         </refsect1>
321
322         <refsect1>
323                   <title>See Also</title>
324                   <para>
325                           <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
326                           <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
327                           <citerefentry><refentrytitle>environ</refentrytitle><manvolnum>7</manvolnum></citerefentry>
328                   </para>
329         </refsect1>
330
331 </refentry>