]> git.ipfire.org Git - thirdparty/systemd.git/blob - man/systemd-system.conf.xml
man: clarify how to configure default control group hierarchies for services and...
[thirdparty/systemd.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 space
116 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
142 separated 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 hierachies 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
218 separated list of capability names as
219 read by
220 <citerefentry><refentrytitle>cap_from_name</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
221 Capabilities listed will be included
222 in the bounding set, all others are
223 removed. If the list of capabilities
224 is prefixed with ~ all but the listed
225 capabilities will be included, the
226 effect of the assignment
227 inverted. Note that this option also
228 affects the respective capabilities in
229 the effective, permitted and
230 inheritable capability sets. The
231 capability bounding set may also be
232 individually configured for units
233 using the
234 <varname>CapabilityBoundingSet=</varname>
235 directive for units, but note that
236 capabilities dropped for PID 1 cannot
237 be regained in individual units, they
238 are lost for good.</para></listitem>
239 </varlistentry>
240
241 <varlistentry>
242 <term><varname>TimerSlackNSec=</varname></term>
243
244 <listitem><para>Sets the timer slack
245 in nanoseconds for PID 1 which is then
246 inherited to all executed processes,
247 unless overridden individually, for
248 example with the
249 <varname>TimerSlackNSec=</varname>
250 setting in service units (for details
251 see
252 <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>). The
253 timer slack controls the accuracy of
254 wake-ups triggered by timers. See
255 <citerefentry><refentrytitle>prctl</refentrytitle><manvolnum>2</manvolnum></citerefentry>
256 for more information. Note that in
257 contrast to most other time span
258 definitions this parameter takes an
259 integer value in nano-seconds if no
260 unit is specified. The usual time
261 units are understood
262 too.</para></listitem>
263 </varlistentry>
264
265 <varlistentry>
266 <term><varname>DefaultLimitCPU=</varname></term>
267 <term><varname>DefaultLimitFSIZE=</varname></term>
268 <term><varname>DefaultLimitDATA=</varname></term>
269 <term><varname>DefaultLimitSTACK=</varname></term>
270 <term><varname>DefaultLimitCORE=</varname></term>
271 <term><varname>DefaultLimitRSS=</varname></term>
272 <term><varname>DefaultLimitNOFILE=</varname></term>
273 <term><varname>DefaultLimitAS=</varname></term>
274 <term><varname>DefaultLimitNPROC=</varname></term>
275 <term><varname>DefaultLimitMEMLOCK=</varname></term>
276 <term><varname>DefaultLimitLOCKS=</varname></term>
277 <term><varname>DefaultLimitSIGPENDING=</varname></term>
278 <term><varname>DefaultLimitMSGQUEUE=</varname></term>
279 <term><varname>DefaultLimitNICE=</varname></term>
280 <term><varname>DefaultLimitRTPRIO=</varname></term>
281 <term><varname>DefaultLimitRTTIME=</varname></term>
282
283 <listitem><para>These settings control
284 various default resource limits for
285 units. See
286 <citerefentry><refentrytitle>setrlimit</refentrytitle><manvolnum>2</manvolnum></citerefentry>
287 for details. Use the string
288 <varname>infinity</varname> to
289 configure no limit on a specific
290 resource. These settings may be
291 overridden in individual units
292 using the corresponding LimitXXX=
293 directives. Note that these resource
294 limits are only defaults for units,
295 they are not applied to PID 1
296 itself.</para></listitem>
297 </varlistentry>
298 </variablelist>
299 </refsect1>
300
301 <refsect1>
302 <title>See Also</title>
303 <para>
304 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
305 <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
306 </para>
307 </refsect1>
308
309 </refentry>