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">
7 This file is part of systemd.
9 Copyright 2010 Lennart Poettering
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.
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.
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/>.
25 <refentry id="systemd.conf">
27 <title>systemd.conf</title>
28 <productname>systemd</productname>
32 <contrib>Developer</contrib>
33 <firstname>Lennart</firstname>
34 <surname>Poettering</surname>
35 <email>lennart@poettering.net</email>
41 <refentrytitle>systemd.conf</refentrytitle>
42 <manvolnum>5</manvolnum>
46 <refname>systemd.conf</refname>
47 <refpurpose>System and service manager configuration file</refpurpose>
51 <para><filename>/etc/systemd/system.conf</filename></para>
52 <para><filename>/etc/systemd/user.conf</filename></para>
56 <title>Description</title>
58 <para>When run as system instance systemd reads the
59 configuration file <filename>system.conf</filename>,
60 otherwise <filename>user.conf</filename>. These
61 configuration files contain a few settings controlling
62 basic manager operations.</para>
67 <title>Options</title>
69 <para>All options are configured in the
70 <literal>[Manager]</literal> section:</para>
72 <variablelist class='systemd-directives'>
75 <term><varname>LogLevel=</varname></term>
76 <term><varname>LogTarget=</varname></term>
77 <term><varname>LogColor=</varname></term>
78 <term><varname>LogLocation=</varname></term>
79 <term><varname>DumpCore=yes</varname></term>
80 <term><varname>CrashShell=no</varname></term>
81 <term><varname>ShowStatus=yes</varname></term>
82 <term><varname>CrashChVT=1</varname></term>
83 <term><varname>DefaultStandardOutput=journal</varname></term>
84 <term><varname>DefaultStandardError=inherit</varname></term>
86 <listitem><para>Configures various
87 parameters of basic manager
88 operation. These options may be
89 overridden by the respective command
91 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
92 for details about these command line
93 arguments.</para></listitem>
97 <term><varname>CPUAffinity=</varname></term>
99 <listitem><para>Configures the initial
100 CPU affinity for the init
101 process. Takes a space-separated list
102 of CPU indexes.</para></listitem>
106 <term><varname>DefaultControllers=cpu</varname></term>
108 <listitem><para>Configures in which
109 cgroup controller hierarchies to
110 create per-service cgroups
111 automatically, in addition to the
112 name=systemd named hierarchy. Defaults
113 to 'cpu'. Takes a space separated list
114 of controller names. Pass an empty
115 string to ensure that systemd does not
116 touch any hierarchies but its
119 <para>Note that the default value of
120 'cpu' will make realtime scheduling
121 unavailable to system services. See
123 url="http://www.freedesktop.org/wiki/Software/systemd/MyServiceCantGetRealtime">My
124 Service Can't Get Realtime!</ulink>
126 information.</para></listitem>
130 <term><varname>JoinControllers=cpu,cpuacct,cpuset net_cls,netprio</varname></term>
132 <listitem><para>Configures controllers
133 that shall be mounted in a single
134 hierarchy. By default systemd will
135 mount all controllers which are
136 enabled in the kernel in individual
137 hierarchies, with the exception of
138 those listed in this setting. Takes a
139 space separated list of comma
140 separated controller names, in order
141 to allow multiple joined
142 hierarchies. Defaults to
143 'cpu,cpuacct'. Pass an empty string to
144 ensure that systemd mounts all
145 controllers in separate
148 <para>Note that this option is only
149 applied once, at very early boot. If
150 you use an initial RAM disk (initrd)
151 that uses systemd it might hence be
152 necessary to rebuild the initrd if
153 this option is changed, and make sure
154 the new configuration file is included
155 in it. Otherwise the initrd might
156 mount the controller hierachies in a
157 different configuration than intended,
158 and the main system cannot remount
159 them anymore.</para></listitem>
163 <term><varname>RuntimeWatchdogSec=</varname></term>
164 <term><varname>ShutdownWatchdogSec=</varname></term>
166 <listitem><para>Configure the hardware
167 watchdog at runtime and at
168 reboot. Takes a timeout value in
169 seconds (or in other time units if
170 suffixed with <literal>ms</literal>,
171 <literal>min</literal>,
172 <literal>h</literal>,
173 <literal>d</literal>,
174 <literal>w</literal>). If
175 <varname>RuntimeWatchdogSec=</varname>
176 is set to a non-zero value the
178 (<filename>/dev/watchdog</filename>)
179 will be programmed to automatically
180 reboot the system if it is not
181 contacted within the specified timeout
182 interval. The system manager will
183 ensure to contact it at least once in
184 half the specified timeout
185 interval. This feature requires a
186 hardware watchdog device to be
187 present, as it is commonly the case in
188 embedded and server systems. Not all
189 hardware watchdogs allow configuration
190 of the reboot timeout, in which case
191 the closest available timeout is
192 picked. <varname>ShutdownWatchdogSec=</varname>
193 may be used to configure the hardware
194 watchdog when the system is asked to
195 reboot. It works as a safety net to
196 ensure that the reboot takes place
197 even if a clean reboot attempt times
199 <varname>RuntimeWatchdogSec=</varname>
200 defaults to 0 (off), and
201 <varname>ShutdownWatchdogSec=</varname>
202 to 10min. These settings have no
203 effect if a hardware watchdog is not
204 available.</para></listitem>
208 <term><varname>CapabilityBoundingSet=</varname></term>
210 <listitem><para>Controls which
211 capabilities to include in the
212 capability bounding set for PID 1 and
214 <citerefentry><refentrytitle>capabilities</refentrytitle><manvolnum>7</manvolnum></citerefentry>
215 for details. Takes a whitespace
216 separated list of capability names as
218 <citerefentry><refentrytitle>cap_from_name</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
219 Capabilities listed will be included
220 in the bounding set, all others are
221 removed. If the list of capabilities
222 is prefixed with ~ all but the listed
223 capabilities will be included, the
224 effect of the assignment
225 inverted. Note that this option also
226 affects the respective capabilities in
227 the effective, permitted and
228 inheritable capability sets. The
229 capability bounding set may also be
230 individually configured for units
232 <varname>CapabilityBoundingSet=</varname>
233 directive for units, but note that
234 capabilities dropped for PID 1 cannot
235 be regained in individual units, they
236 are lost for good.</para></listitem>
240 <term><varname>TimerSlackNSec=</varname></term>
242 <listitem><para>Sets the timer slack
243 in nanoseconds for PID 1 which is then
244 inherited to all executed processes,
245 unless overridden individually, for
247 <varname>TimerSlackNSec=</varname>
248 setting in service units (for details
250 <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>). The
251 timer slack controls the accuracy of
252 wake-ups triggered by timers. See
253 <citerefentry><refentrytitle>prctl</refentrytitle><manvolnum>2</manvolnum></citerefentry>
254 for more information. Note that in
255 contrast to most other time span
256 definitions this parameter takes an
257 integer value in nano-seconds if no
258 unit is specified. The usual time
260 too.</para></listitem>
264 <term><varname>DefaultLimitCPU=</varname></term>
265 <term><varname>DefaultLimitFSIZE=</varname></term>
266 <term><varname>DefaultLimitDATA=</varname></term>
267 <term><varname>DefaultLimitSTACK=</varname></term>
268 <term><varname>DefaultLimitCORE=</varname></term>
269 <term><varname>DefaultLimitRSS=</varname></term>
270 <term><varname>DefaultLimitNOFILE=</varname></term>
271 <term><varname>DefaultLimitAS=</varname></term>
272 <term><varname>DefaultLimitNPROC=</varname></term>
273 <term><varname>DefaultLimitMEMLOCK=</varname></term>
274 <term><varname>DefaultLimitLOCKS=</varname></term>
275 <term><varname>DefaultLimitSIGPENDING=</varname></term>
276 <term><varname>DefaultLimitMSGQUEUE=</varname></term>
277 <term><varname>DefaultLimitNICE=</varname></term>
278 <term><varname>DefaultLimitRTPRIO=</varname></term>
279 <term><varname>DefaultLimitRTTIME=</varname></term>
281 <listitem><para>These settings control
282 various default resource limits for
284 <citerefentry><refentrytitle>setrlimit</refentrytitle><manvolnum>2</manvolnum></citerefentry>
285 for details. Use the string
286 <varname>infinity</varname> to
287 configure no limit on a specific
288 resource. These settings may be
289 overridden in individual units
290 using the corresponding LimitXXX=
291 directives. Note that these resource
292 limits are only defaults for units,
293 they are not applied to PID 1
294 itself.</para></listitem>
300 <title>See Also</title>
302 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
303 <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>