chiark / gitweb /
Reindent man pages to 2ch
[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     xmlns:xi="http://www.w3.org/2001/XInclude">
27   <refentryinfo>
28     <title>systemd-system.conf</title>
29     <productname>systemd</productname>
30
31     <authorgroup>
32       <author>
33         <contrib>Developer</contrib>
34         <firstname>Lennart</firstname>
35         <surname>Poettering</surname>
36         <email>lennart@poettering.net</email>
37       </author>
38     </authorgroup>
39   </refentryinfo>
40
41   <refmeta>
42     <refentrytitle>systemd-system.conf</refentrytitle>
43     <manvolnum>5</manvolnum>
44   </refmeta>
45
46   <refnamediv>
47     <refname>systemd-system.conf</refname>
48     <refname>system.conf.d</refname>
49     <refname>systemd-user.conf</refname>
50     <refname>user.conf.d</refname>
51     <refpurpose>System and session service manager configuration files</refpurpose>
52   </refnamediv>
53
54   <refsynopsisdiv>
55     <para><filename>/etc/systemd/system.conf</filename></para>
56     <para><filename>/etc/systemd/system.conf.d/*.conf</filename></para>
57     <para><filename>/run/systemd/system.conf.d/*.conf</filename></para>
58     <para><filename>/usr/lib/systemd/system.conf.d/*.conf</filename></para>
59     <para><filename>/etc/systemd/user.conf</filename></para>
60     <para><filename>/etc/systemd/user.conf.d/*.conf</filename></para>
61     <para><filename>/run/systemd/user.conf.d/*.conf</filename></para>
62     <para><filename>/usr/lib/systemd/user.conf.d/*.conf</filename></para>
63   </refsynopsisdiv>
64
65   <refsect1>
66     <title>Description</title>
67
68     <para>When run as a system instance, systemd interprets the
69     configuration file <filename>system.conf</filename> and the files
70     in <filename>system.conf.d</filename> directories; when run as a
71     user instance, systemd interprets the configuration file
72     <filename>user.conf</filename> and the files in
73     <filename>user.conf.d</filename> directories. These configuration
74     files contain a few settings controlling basic manager
75     operations.</para>
76   </refsect1>
77
78   <xi:include href="standard-conf.xml" xpointer="confd" />
79   <xi:include href="standard-conf.xml" xpointer="conf" />
80
81   <refsect1>
82     <title>Options</title>
83
84     <para>All options are configured in the
85     <literal>[Manager]</literal> section:</para>
86
87     <variablelist class='systemd-directives'>
88
89       <varlistentry>
90         <term><varname>LogLevel=</varname></term>
91         <term><varname>LogTarget=</varname></term>
92         <term><varname>LogColor=</varname></term>
93         <term><varname>LogLocation=</varname></term>
94         <term><varname>DumpCore=yes</varname></term>
95         <term><varname>CrashShell=no</varname></term>
96         <term><varname>ShowStatus=yes</varname></term>
97         <term><varname>CrashChVT=1</varname></term>
98         <term><varname>DefaultStandardOutput=journal</varname></term>
99         <term><varname>DefaultStandardError=inherit</varname></term>
100
101         <listitem><para>Configures various parameters of basic manager
102         operation. These options may be overridden by the respective
103         command line arguments. See
104         <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
105         for details about these command line
106         arguments.</para></listitem>
107       </varlistentry>
108
109       <varlistentry>
110         <term><varname>CPUAffinity=</varname></term>
111
112         <listitem><para>Configures the initial CPU affinity for the
113         init process. Takes a space-separated list of CPU
114         indices.</para></listitem>
115       </varlistentry>
116
117       <varlistentry>
118         <term><varname>JoinControllers=cpu,cpuacct net_cls,netprio</varname></term>
119
120         <listitem><para>Configures controllers that shall be mounted
121         in a single hierarchy. By default, systemd will mount all
122         controllers which are enabled in the kernel in individual
123         hierarchies, with the exception of those listed in this
124         setting. Takes a space-separated list of comma-separated
125         controller names, in order to allow multiple joined
126         hierarchies. Defaults to 'cpu,cpuacct'. Pass an empty string
127         to ensure that systemd mounts all controllers in separate
128         hierarchies.</para>
129
130         <para>Note that this option is only applied once, at very
131         early boot. If you use an initial RAM disk (initrd) that uses
132         systemd, it might hence be necessary to rebuild the initrd if
133         this option is changed, and make sure the new configuration
134         file is included in it. Otherwise, the initrd might mount the
135         controller hierarchies in a different configuration than
136         intended, and the main system cannot remount them
137         anymore.</para></listitem>
138       </varlistentry>
139
140       <varlistentry>
141         <term><varname>RuntimeWatchdogSec=</varname></term>
142         <term><varname>ShutdownWatchdogSec=</varname></term>
143
144         <listitem><para>Configure the hardware watchdog at runtime and
145         at reboot. Takes a timeout value in seconds (or in other time
146         units if suffixed with <literal>ms</literal>,
147         <literal>min</literal>, <literal>h</literal>,
148         <literal>d</literal>, <literal>w</literal>). If
149         <varname>RuntimeWatchdogSec=</varname> is set to a non-zero
150         value, the watchdog hardware
151         (<filename>/dev/watchdog</filename>) will be programmed to
152         automatically reboot the system if it is not contacted within
153         the specified timeout interval. The system manager will ensure
154         to contact it at least once in half the specified timeout
155         interval. This feature requires a hardware watchdog device to
156         be present, as it is commonly the case in embedded and server
157         systems. Not all hardware watchdogs allow configuration of the
158         reboot timeout, in which case the closest available timeout is
159         picked. <varname>ShutdownWatchdogSec=</varname> may be used to
160         configure the hardware watchdog when the system is asked to
161         reboot. It works as a safety net to ensure that the reboot
162         takes place even if a clean reboot attempt times out. By
163         default <varname>RuntimeWatchdogSec=</varname> defaults to 0
164         (off), and <varname>ShutdownWatchdogSec=</varname> to 10min.
165         These settings have no effect if a hardware watchdog is not
166         available.</para></listitem>
167       </varlistentry>
168
169       <varlistentry>
170         <term><varname>CapabilityBoundingSet=</varname></term>
171
172         <listitem><para>Controls which capabilities to include in the
173         capability bounding set for PID 1 and its children. See
174         <citerefentry project='man-pages'><refentrytitle>capabilities</refentrytitle><manvolnum>7</manvolnum></citerefentry>
175         for details. Takes a whitespace-separated list of capability
176         names as read by
177         <citerefentry><refentrytitle>cap_from_name</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
178         Capabilities listed will be included in the bounding set, all
179         others are removed. If the list of capabilities is prefixed
180         with ~, all but the listed capabilities will be included, the
181         effect of the assignment inverted. Note that this option also
182         affects the respective capabilities in the effective,
183         permitted and inheritable capability sets. The capability
184         bounding set may also be individually configured for units
185         using the <varname>CapabilityBoundingSet=</varname> directive
186         for units, but note that capabilities dropped for PID 1 cannot
187         be regained in individual units, they are lost for
188         good.</para></listitem>
189       </varlistentry>
190
191       <varlistentry>
192         <term><varname>SystemCallArchitectures=</varname></term>
193
194         <listitem><para>Takes a space-separated list of architecture
195         identifiers. Selects from which architectures system calls may
196         be invoked on this system. This may be used as an effective
197         way to disable invocation of non-native binaries system-wide,
198         for example to prohibit execution of 32-bit x86 binaries on
199         64-bit x86-64 systems. This option operates system-wide, and
200         acts similar to the
201         <varname>SystemCallArchitectures=</varname> setting of unit
202         files, see
203         <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>
204         for details. This setting defaults to the empty list, in which
205         case no filtering of system calls based on architecture is
206         applied. Known architecture identifiers are
207         <literal>x86</literal>, <literal>x86-64</literal>,
208         <literal>x32</literal>, <literal>arm</literal> and the special
209         identifier <literal>native</literal>. The latter implicitly
210         maps to the native architecture of the system (or more
211         specifically, the architecture the system manager was compiled
212         for). Set this setting to <literal>native</literal> to
213         prohibit execution of any non-native binaries. When a binary
214         executes a system call of an architecture that is not listed
215         in this setting, it will be immediately terminated with the
216         SIGSYS signal.</para></listitem>
217       </varlistentry>
218
219       <varlistentry>
220         <term><varname>TimerSlackNSec=</varname></term>
221
222         <listitem><para>Sets the timer slack in nanoseconds for PID 1,
223         which is inherited by all executed processes, unless
224         overridden individually, for example with the
225         <varname>TimerSlackNSec=</varname> setting in service units
226         (for details see
227         <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>).
228         The timer slack controls the accuracy of wake-ups triggered by
229         system timers. See
230         <citerefentry><refentrytitle>prctl</refentrytitle><manvolnum>2</manvolnum></citerefentry>
231         for more information. Note that in contrast to most other time
232         span definitions this parameter takes an integer value in
233         nano-seconds if no unit is specified. The usual time units are
234         understood too.</para></listitem>
235       </varlistentry>
236
237       <varlistentry>
238         <term><varname>DefaultTimerAccuracySec=</varname></term>
239
240         <listitem><para>Sets the default accuracy of timer units. This
241         controls the global default for the
242         <varname>AccuracySec=</varname> setting of timer units, see
243         <citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>
244         for details. <varname>AccuracySec=</varname> set in individual
245         units override the global default for the specific unit.
246         Defaults to 1min. Note that the accuracy of timer units is
247         also affected by the configured timer slack for PID 1, see
248         <varname>TimerSlackNSec=</varname> above.</para></listitem>
249       </varlistentry>
250
251       <varlistentry>
252         <term><varname>DefaultTimeoutStartSec=</varname></term>
253         <term><varname>DefaultTimeoutStopSec=</varname></term>
254         <term><varname>DefaultRestartSec=</varname></term>
255
256         <listitem><para>Configures the default timeouts for starting
257         and stopping of units, as well as the default time to sleep
258         between automatic restarts of units, as configured per-unit in
259         <varname>TimeoutStartSec=</varname>,
260         <varname>TimeoutStopSec=</varname> and
261         <varname>RestartSec=</varname> (for services, see
262         <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>
263         for details on the per-unit settings). For non-service units,
264         <varname>DefaultTimeoutStartSec=</varname> sets the default
265         <varname>TimeoutSec=</varname> value. </para></listitem>
266       </varlistentry>
267
268       <varlistentry>
269         <term><varname>DefaultStartLimitInterval=</varname></term>
270         <term><varname>DefaultStartLimitBurst=</varname></term>
271
272         <listitem><para>Configure the default unit start rate
273         limiting, as configured per-service by
274         <varname>StartLimitInterval=</varname> and
275         <varname>StartLimitBurst=</varname>. See
276         <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>
277         for details on the per-service settings.</para></listitem>
278       </varlistentry>
279
280       <varlistentry>
281         <term><varname>DefaultEnvironment=</varname></term>
282
283         <listitem><para>Sets manager environment variables passed to
284         all executed processes. Takes a space-separated list of
285         variable assignments. See
286         <citerefentry project='man-pages'><refentrytitle>environ</refentrytitle><manvolnum>7</manvolnum></citerefentry>
287         for details about environment variables.</para>
288
289         <para>Example:
290
291         <programlisting>DefaultEnvironment="VAR1=word1 word2" VAR2=word3 "VAR3=word 5 6"</programlisting>
292
293         Sets three variables
294         <literal>VAR1</literal>,
295         <literal>VAR2</literal>,
296         <literal>VAR3</literal>.</para></listitem>
297       </varlistentry>
298
299       <varlistentry>
300         <term><varname>DefaultCPUAccounting=</varname></term>
301         <term><varname>DefaultBlockIOAccounting=</varname></term>
302         <term><varname>DefaultMemoryAccounting=</varname></term>
303
304         <listitem><para>Configure the default resource accounting
305         settings, as configured per-unit by
306         <varname>CPUAccounting=</varname>,
307         <varname>BlockIOAccounting=</varname> and
308         <varname>MemoryAccounting=</varname>. See
309         <citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry>
310         for details on the per-unit settings.</para></listitem>
311       </varlistentry>
312
313       <varlistentry>
314         <term><varname>DefaultLimitCPU=</varname></term>
315         <term><varname>DefaultLimitFSIZE=</varname></term>
316         <term><varname>DefaultLimitDATA=</varname></term>
317         <term><varname>DefaultLimitSTACK=</varname></term>
318         <term><varname>DefaultLimitCORE=</varname></term>
319         <term><varname>DefaultLimitRSS=</varname></term>
320         <term><varname>DefaultLimitNOFILE=</varname></term>
321         <term><varname>DefaultLimitAS=</varname></term>
322         <term><varname>DefaultLimitNPROC=</varname></term>
323         <term><varname>DefaultLimitMEMLOCK=</varname></term>
324         <term><varname>DefaultLimitLOCKS=</varname></term>
325         <term><varname>DefaultLimitSIGPENDING=</varname></term>
326         <term><varname>DefaultLimitMSGQUEUE=</varname></term>
327         <term><varname>DefaultLimitNICE=</varname></term>
328         <term><varname>DefaultLimitRTPRIO=</varname></term>
329         <term><varname>DefaultLimitRTTIME=</varname></term>
330
331         <listitem><para>These settings control various default
332         resource limits for units. See
333         <citerefentry><refentrytitle>setrlimit</refentrytitle><manvolnum>2</manvolnum></citerefentry>
334         for details. Use the string <varname>infinity</varname> to
335         configure no limit on a specific resource. These settings may
336         be overridden in individual units using the corresponding
337         LimitXXX= directives. Note that these resource limits are only
338         defaults for units, they are not applied to PID 1
339         itself.</para></listitem>
340       </varlistentry>
341     </variablelist>
342   </refsect1>
343
344   <refsect1>
345       <title>See Also</title>
346       <para>
347         <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
348         <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
349         <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
350         <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
351         <citerefentry project='man-pages'><refentrytitle>environ</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
352         <citerefentry project='man-pages'><refentrytitle>capabilities</refentrytitle><manvolnum>7</manvolnum></citerefentry>
353       </para>
354   </refsect1>
355
356 </refentry>