]> git.ipfire.org Git - thirdparty/systemd.git/blob - man/systemd-system.conf.xml
zsh_completion: Split out zsh _coredumpctl
[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
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>