]>
Commit | Line | Data |
---|---|---|
0af20ea2 | 1 | <?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> |
f3e219a2 | 2 | <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |
12b42c76 | 3 | "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> |
f3e219a2 LP |
4 | |
5 | <!-- | |
6 | This file is part of systemd. | |
7 | ||
8 | Copyright 2010 Lennart Poettering | |
9 | ||
10 | systemd is free software; you can redistribute it and/or modify it | |
5430f7f2 LP |
11 | under the terms of the GNU Lesser General Public License as published by |
12 | the Free Software Foundation; either version 2.1 of the License, or | |
f3e219a2 LP |
13 | (at your option) any later version. |
14 | ||
15 | systemd is distributed in the hope that it will be useful, but | |
16 | WITHOUT ANY WARRANTY; without even the implied warranty of | |
17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
5430f7f2 | 18 | Lesser General Public License for more details. |
f3e219a2 | 19 | |
5430f7f2 | 20 | You should have received a copy of the GNU Lesser General Public License |
f3e219a2 LP |
21 | along with systemd; If not, see <http://www.gnu.org/licenses/>. |
22 | --> | |
23 | ||
1b907b5c | 24 | <refentry id="systemd-system.conf" |
798d3a52 ZJS |
25 | xmlns:xi="http://www.w3.org/2001/XInclude"> |
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>system.conf.d</refname> | |
48 | <refname>systemd-user.conf</refname> | |
49 | <refname>user.conf.d</refname> | |
50 | <refpurpose>System and session service manager configuration files</refpurpose> | |
51 | </refnamediv> | |
52 | ||
53 | <refsynopsisdiv> | |
03a7b521 LP |
54 | <para><filename>/etc/systemd/system.conf</filename>, |
55 | <filename>/etc/systemd/system.conf.d/*.conf</filename>, | |
56 | <filename>/run/systemd/system.conf.d/*.conf</filename>, | |
57 | <filename>/usr/lib/systemd/system.conf.d/*.conf</filename></para> | |
58 | <para><filename>/etc/systemd/user.conf</filename>, | |
59 | <filename>/etc/systemd/user.conf.d/*.conf</filename>, | |
60 | <filename>/run/systemd/user.conf.d/*.conf</filename>, | |
61 | <filename>/usr/lib/systemd/user.conf.d/*.conf</filename></para> | |
798d3a52 ZJS |
62 | </refsynopsisdiv> |
63 | ||
64 | <refsect1> | |
65 | <title>Description</title> | |
66 | ||
67 | <para>When run as a system instance, systemd interprets the | |
68 | configuration file <filename>system.conf</filename> and the files | |
69 | in <filename>system.conf.d</filename> directories; when run as a | |
70 | user instance, systemd interprets the configuration file | |
71 | <filename>user.conf</filename> and the files in | |
72 | <filename>user.conf.d</filename> directories. These configuration | |
73 | files contain a few settings controlling basic manager | |
74 | operations.</para> | |
75 | </refsect1> | |
76 | ||
e93549ef | 77 | <xi:include href="standard-conf.xml" xpointer="main-conf" /> |
798d3a52 ZJS |
78 | |
79 | <refsect1> | |
80 | <title>Options</title> | |
81 | ||
82 | <para>All options are configured in the | |
83 | <literal>[Manager]</literal> section:</para> | |
84 | ||
85 | <variablelist class='systemd-directives'> | |
86 | ||
87 | <varlistentry> | |
88 | <term><varname>LogLevel=</varname></term> | |
89 | <term><varname>LogTarget=</varname></term> | |
90 | <term><varname>LogColor=</varname></term> | |
91 | <term><varname>LogLocation=</varname></term> | |
92 | <term><varname>DumpCore=yes</varname></term> | |
b9e74c39 | 93 | <term><varname>CrashChangeVT=no</varname></term> |
798d3a52 | 94 | <term><varname>CrashShell=no</varname></term> |
b9e74c39 | 95 | <term><varname>CrashReboot=no</varname></term> |
798d3a52 | 96 | <term><varname>ShowStatus=yes</varname></term> |
798d3a52 ZJS |
97 | <term><varname>DefaultStandardOutput=journal</varname></term> |
98 | <term><varname>DefaultStandardError=inherit</varname></term> | |
99 | ||
33fc1800 LP |
100 | <listitem><para>Configures various parameters of basic manager operation. These options may be overridden by |
101 | the respective process and kernel command line arguments. See | |
102 | <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry> for | |
103 | details.</para></listitem> | |
798d3a52 ZJS |
104 | </varlistentry> |
105 | ||
24dd31c1 LN |
106 | <varlistentry> |
107 | <term><varname>CtrlAltDelBurstAction=</varname></term> | |
108 | ||
109 | <listitem><para>Defines what action will be performed | |
2dd67817 | 110 | if user presses Ctrl-Alt-Delete more than 7 times in 2s. |
ae8c7939 LN |
111 | Can be set to <literal>reboot-force</literal>, <literal>poweroff-force</literal>, |
112 | <literal>reboot-immediate</literal>, <literal>poweroff-immediate</literal> | |
113 | or disabled with <literal>none</literal>. Defaults to | |
24dd31c1 LN |
114 | <literal>reboot-force</literal>. |
115 | </para></listitem> | |
116 | </varlistentry> | |
117 | ||
798d3a52 ZJS |
118 | <varlistentry> |
119 | <term><varname>CPUAffinity=</varname></term> | |
120 | ||
121 | <listitem><para>Configures the initial CPU affinity for the | |
71b1c27a FB |
122 | init process. Takes a list of CPU indices or ranges separated |
123 | by either whitespace or commas. CPU ranges are specified by | |
124 | the lower and upper CPU indices separated by a | |
125 | dash.</para></listitem> | |
798d3a52 ZJS |
126 | </varlistentry> |
127 | ||
128 | <varlistentry> | |
129 | <term><varname>JoinControllers=cpu,cpuacct net_cls,netprio</varname></term> | |
130 | ||
131 | <listitem><para>Configures controllers that shall be mounted | |
132 | in a single hierarchy. By default, systemd will mount all | |
133 | controllers which are enabled in the kernel in individual | |
134 | hierarchies, with the exception of those listed in this | |
135 | setting. Takes a space-separated list of comma-separated | |
136 | controller names, in order to allow multiple joined | |
137 | hierarchies. Defaults to 'cpu,cpuacct'. Pass an empty string | |
138 | to ensure that systemd mounts all controllers in separate | |
139 | hierarchies.</para> | |
140 | ||
141 | <para>Note that this option is only applied once, at very | |
142 | early boot. If you use an initial RAM disk (initrd) that uses | |
143 | systemd, it might hence be necessary to rebuild the initrd if | |
144 | this option is changed, and make sure the new configuration | |
145 | file is included in it. Otherwise, the initrd might mount the | |
146 | controller hierarchies in a different configuration than | |
147 | intended, and the main system cannot remount them | |
148 | anymore.</para></listitem> | |
149 | </varlistentry> | |
150 | ||
151 | <varlistentry> | |
152 | <term><varname>RuntimeWatchdogSec=</varname></term> | |
153 | <term><varname>ShutdownWatchdogSec=</varname></term> | |
154 | ||
155 | <listitem><para>Configure the hardware watchdog at runtime and | |
156 | at reboot. Takes a timeout value in seconds (or in other time | |
157 | units if suffixed with <literal>ms</literal>, | |
158 | <literal>min</literal>, <literal>h</literal>, | |
159 | <literal>d</literal>, <literal>w</literal>). If | |
160 | <varname>RuntimeWatchdogSec=</varname> is set to a non-zero | |
161 | value, the watchdog hardware | |
162 | (<filename>/dev/watchdog</filename>) will be programmed to | |
163 | automatically reboot the system if it is not contacted within | |
164 | the specified timeout interval. The system manager will ensure | |
165 | to contact it at least once in half the specified timeout | |
166 | interval. This feature requires a hardware watchdog device to | |
167 | be present, as it is commonly the case in embedded and server | |
168 | systems. Not all hardware watchdogs allow configuration of the | |
169 | reboot timeout, in which case the closest available timeout is | |
170 | picked. <varname>ShutdownWatchdogSec=</varname> may be used to | |
171 | configure the hardware watchdog when the system is asked to | |
172 | reboot. It works as a safety net to ensure that the reboot | |
173 | takes place even if a clean reboot attempt times out. By | |
174 | default <varname>RuntimeWatchdogSec=</varname> defaults to 0 | |
175 | (off), and <varname>ShutdownWatchdogSec=</varname> to 10min. | |
176 | These settings have no effect if a hardware watchdog is not | |
177 | available.</para></listitem> | |
178 | </varlistentry> | |
179 | ||
180 | <varlistentry> | |
181 | <term><varname>CapabilityBoundingSet=</varname></term> | |
182 | ||
183 | <listitem><para>Controls which capabilities to include in the | |
184 | capability bounding set for PID 1 and its children. See | |
185 | <citerefentry project='man-pages'><refentrytitle>capabilities</refentrytitle><manvolnum>7</manvolnum></citerefentry> | |
186 | for details. Takes a whitespace-separated list of capability | |
187 | names as read by | |
3ba3a79d | 188 | <citerefentry project='mankier'><refentrytitle>cap_from_name</refentrytitle><manvolnum>3</manvolnum></citerefentry>. |
798d3a52 ZJS |
189 | Capabilities listed will be included in the bounding set, all |
190 | others are removed. If the list of capabilities is prefixed | |
191 | with ~, all but the listed capabilities will be included, the | |
192 | effect of the assignment inverted. Note that this option also | |
193 | affects the respective capabilities in the effective, | |
194 | permitted and inheritable capability sets. The capability | |
195 | bounding set may also be individually configured for units | |
196 | using the <varname>CapabilityBoundingSet=</varname> directive | |
197 | for units, but note that capabilities dropped for PID 1 cannot | |
198 | be regained in individual units, they are lost for | |
199 | good.</para></listitem> | |
200 | </varlistentry> | |
201 | ||
202 | <varlistentry> | |
203 | <term><varname>SystemCallArchitectures=</varname></term> | |
204 | ||
205 | <listitem><para>Takes a space-separated list of architecture | |
206 | identifiers. Selects from which architectures system calls may | |
207 | be invoked on this system. This may be used as an effective | |
208 | way to disable invocation of non-native binaries system-wide, | |
209 | for example to prohibit execution of 32-bit x86 binaries on | |
210 | 64-bit x86-64 systems. This option operates system-wide, and | |
211 | acts similar to the | |
212 | <varname>SystemCallArchitectures=</varname> setting of unit | |
213 | files, see | |
214 | <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry> | |
215 | for details. This setting defaults to the empty list, in which | |
216 | case no filtering of system calls based on architecture is | |
217 | applied. Known architecture identifiers are | |
218 | <literal>x86</literal>, <literal>x86-64</literal>, | |
219 | <literal>x32</literal>, <literal>arm</literal> and the special | |
220 | identifier <literal>native</literal>. The latter implicitly | |
221 | maps to the native architecture of the system (or more | |
222 | specifically, the architecture the system manager was compiled | |
223 | for). Set this setting to <literal>native</literal> to | |
224 | prohibit execution of any non-native binaries. When a binary | |
225 | executes a system call of an architecture that is not listed | |
226 | in this setting, it will be immediately terminated with the | |
227 | SIGSYS signal.</para></listitem> | |
228 | </varlistentry> | |
229 | ||
230 | <varlistentry> | |
231 | <term><varname>TimerSlackNSec=</varname></term> | |
232 | ||
233 | <listitem><para>Sets the timer slack in nanoseconds for PID 1, | |
234 | which is inherited by all executed processes, unless | |
235 | overridden individually, for example with the | |
236 | <varname>TimerSlackNSec=</varname> setting in service units | |
237 | (for details see | |
238 | <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>). | |
239 | The timer slack controls the accuracy of wake-ups triggered by | |
240 | system timers. See | |
241 | <citerefentry><refentrytitle>prctl</refentrytitle><manvolnum>2</manvolnum></citerefentry> | |
242 | for more information. Note that in contrast to most other time | |
243 | span definitions this parameter takes an integer value in | |
244 | nano-seconds if no unit is specified. The usual time units are | |
245 | understood too.</para></listitem> | |
246 | </varlistentry> | |
247 | ||
248 | <varlistentry> | |
249 | <term><varname>DefaultTimerAccuracySec=</varname></term> | |
250 | ||
251 | <listitem><para>Sets the default accuracy of timer units. This | |
252 | controls the global default for the | |
253 | <varname>AccuracySec=</varname> setting of timer units, see | |
254 | <citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry> | |
255 | for details. <varname>AccuracySec=</varname> set in individual | |
256 | units override the global default for the specific unit. | |
257 | Defaults to 1min. Note that the accuracy of timer units is | |
258 | also affected by the configured timer slack for PID 1, see | |
259 | <varname>TimerSlackNSec=</varname> above.</para></listitem> | |
260 | </varlistentry> | |
261 | ||
262 | <varlistentry> | |
263 | <term><varname>DefaultTimeoutStartSec=</varname></term> | |
264 | <term><varname>DefaultTimeoutStopSec=</varname></term> | |
265 | <term><varname>DefaultRestartSec=</varname></term> | |
266 | ||
267 | <listitem><para>Configures the default timeouts for starting | |
268 | and stopping of units, as well as the default time to sleep | |
269 | between automatic restarts of units, as configured per-unit in | |
270 | <varname>TimeoutStartSec=</varname>, | |
271 | <varname>TimeoutStopSec=</varname> and | |
272 | <varname>RestartSec=</varname> (for services, see | |
273 | <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry> | |
274 | for details on the per-unit settings). For non-service units, | |
275 | <varname>DefaultTimeoutStartSec=</varname> sets the default | |
f5a05fb5 LP |
276 | <varname>TimeoutSec=</varname> |
277 | value. <varname>DefaultTimeoutStartSec=</varname> and | |
278 | <varname>DefaultTimeoutStopSec=</varname> default to | |
279 | 90s. <varname>DefaultRestartSec=</varname> defaults to | |
280 | 100ms.</para></listitem> | |
798d3a52 ZJS |
281 | </varlistentry> |
282 | ||
283 | <varlistentry> | |
f0367da7 | 284 | <term><varname>DefaultStartLimitIntervalSec=</varname></term> |
798d3a52 ZJS |
285 | <term><varname>DefaultStartLimitBurst=</varname></term> |
286 | ||
287 | <listitem><para>Configure the default unit start rate | |
288 | limiting, as configured per-service by | |
f0367da7 | 289 | <varname>StartLimitIntervalSec=</varname> and |
798d3a52 ZJS |
290 | <varname>StartLimitBurst=</varname>. See |
291 | <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry> | |
f5a05fb5 | 292 | for details on the per-service settings. |
f0367da7 | 293 | <varname>DefaultStartLimitIntervalSec=</varname> defaults to |
f5a05fb5 LP |
294 | 10s. <varname>DefaultStartLimitBurst=</varname> defaults to |
295 | 5.</para></listitem> | |
798d3a52 ZJS |
296 | </varlistentry> |
297 | ||
298 | <varlistentry> | |
299 | <term><varname>DefaultEnvironment=</varname></term> | |
300 | ||
301 | <listitem><para>Sets manager environment variables passed to | |
302 | all executed processes. Takes a space-separated list of | |
303 | variable assignments. See | |
304 | <citerefentry project='man-pages'><refentrytitle>environ</refentrytitle><manvolnum>7</manvolnum></citerefentry> | |
305 | for details about environment variables.</para> | |
306 | ||
307 | <para>Example: | |
308 | ||
309 | <programlisting>DefaultEnvironment="VAR1=word1 word2" VAR2=word3 "VAR3=word 5 6"</programlisting> | |
310 | ||
311 | Sets three variables | |
312 | <literal>VAR1</literal>, | |
313 | <literal>VAR2</literal>, | |
314 | <literal>VAR3</literal>.</para></listitem> | |
315 | </varlistentry> | |
316 | ||
317 | <varlistentry> | |
318 | <term><varname>DefaultCPUAccounting=</varname></term> | |
319 | <term><varname>DefaultBlockIOAccounting=</varname></term> | |
320 | <term><varname>DefaultMemoryAccounting=</varname></term> | |
03a7b521 | 321 | <term><varname>DefaultTasksAccounting=</varname></term> |
798d3a52 ZJS |
322 | |
323 | <listitem><para>Configure the default resource accounting | |
324 | settings, as configured per-unit by | |
325 | <varname>CPUAccounting=</varname>, | |
03a7b521 LP |
326 | <varname>BlockIOAccounting=</varname>, |
327 | <varname>MemoryAccounting=</varname> and | |
328 | <varname>TasksAccounting=</varname>. See | |
798d3a52 | 329 | <citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry> |
9ded9cd1 | 330 | for details on the per-unit |
b17649ee | 331 | settings. <varname>DefaultTasksAccounting=</varname> defaults |
9ded9cd1 | 332 | to on, the other three settings to off.</para></listitem> |
798d3a52 ZJS |
333 | </varlistentry> |
334 | ||
0af20ea2 LP |
335 | <varlistentry> |
336 | <term><varname>DefaultTasksMax=</varname></term> | |
337 | ||
79baeeb9 | 338 | <listitem><para>Configure the default value for the per-unit <varname>TasksMax=</varname> setting. See |
0af20ea2 | 339 | <citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry> |
79baeeb9 LP |
340 | for details. This setting applies to all unit types that support resource control settings, with the exception |
341 | of slice units. Defaults to 15%, which equals 4915 with the kernel's defaults on the host, but might be smaller | |
342 | in OS containers.</para></listitem> | |
0af20ea2 LP |
343 | </varlistentry> |
344 | ||
798d3a52 ZJS |
345 | <varlistentry> |
346 | <term><varname>DefaultLimitCPU=</varname></term> | |
347 | <term><varname>DefaultLimitFSIZE=</varname></term> | |
348 | <term><varname>DefaultLimitDATA=</varname></term> | |
349 | <term><varname>DefaultLimitSTACK=</varname></term> | |
350 | <term><varname>DefaultLimitCORE=</varname></term> | |
351 | <term><varname>DefaultLimitRSS=</varname></term> | |
352 | <term><varname>DefaultLimitNOFILE=</varname></term> | |
353 | <term><varname>DefaultLimitAS=</varname></term> | |
354 | <term><varname>DefaultLimitNPROC=</varname></term> | |
355 | <term><varname>DefaultLimitMEMLOCK=</varname></term> | |
356 | <term><varname>DefaultLimitLOCKS=</varname></term> | |
357 | <term><varname>DefaultLimitSIGPENDING=</varname></term> | |
358 | <term><varname>DefaultLimitMSGQUEUE=</varname></term> | |
359 | <term><varname>DefaultLimitNICE=</varname></term> | |
360 | <term><varname>DefaultLimitRTPRIO=</varname></term> | |
361 | <term><varname>DefaultLimitRTTIME=</varname></term> | |
362 | ||
363 | <listitem><para>These settings control various default | |
364 | resource limits for units. See | |
365 | <citerefentry><refentrytitle>setrlimit</refentrytitle><manvolnum>2</manvolnum></citerefentry> | |
91518d20 KZ |
366 | for details. The resource limit is possible to specify in two formats, |
367 | <option>value</option> to set soft and hard limits to the same value, | |
368 | or <option>soft:hard</option> to set both limits individually (e.g. DefaultLimitAS=4G:16G). | |
369 | Use the string <varname>infinity</varname> to | |
370 | configure no limit on a specific resource. The multiplicative | |
371 | suffixes K (=1024), M (=1024*1024) and so on for G, T, P and E | |
372 | may be used for resource limits measured in bytes | |
373 | (e.g. DefaultLimitAS=16G). For the limits referring to time values, | |
374 | the usual time units ms, s, min, h and so on may be used (see | |
375 | <citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry> | |
376 | for details). Note that if no time unit is specified for | |
377 | <varname>DefaultLimitCPU=</varname> the default unit of seconds is | |
378 | implied, while for <varname>DefaultLimitRTTIME=</varname> the default | |
379 | unit of microseconds is implied. Also, note that the effective | |
380 | granularity of the limits might influence their | |
381 | enforcement. For example, time limits specified for | |
382 | <varname>DefaultLimitCPU=</varname> will be rounded up implicitly to | |
383 | multiples of 1s. These settings may be overridden in individual units | |
384 | using the corresponding LimitXXX= directives. Note that these resource | |
385 | limits are only defaults for units, they are not applied to PID 1 | |
798d3a52 ZJS |
386 | itself.</para></listitem> |
387 | </varlistentry> | |
388 | </variablelist> | |
389 | </refsect1> | |
390 | ||
391 | <refsect1> | |
392 | <title>See Also</title> | |
393 | <para> | |
394 | <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, | |
395 | <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>, | |
396 | <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>, | |
397 | <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>, | |
398 | <citerefentry project='man-pages'><refentrytitle>environ</refentrytitle><manvolnum>7</manvolnum></citerefentry>, | |
399 | <citerefentry project='man-pages'><refentrytitle>capabilities</refentrytitle><manvolnum>7</manvolnum></citerefentry> | |
400 | </para> | |
401 | </refsect1> | |
f3e219a2 LP |
402 | |
403 | </refentry> |