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
117 own.</para></listitem>
121 <term><varname>JoinControllers=cpu,cpuacct,cpuset net_cls,netprio</varname></term>
123 <listitem><para>Configures controllers
124 that shall be mounted in a single
125 hierarchy. By default systemd will
126 mount all controllers which are
127 enabled in the kernel in individual
128 hierarchies, with the exception of
129 those listed in this setting. Takes a
130 space separated list of comma
131 separated controller names, in order
132 to allow multiple joined
133 hierarchies. Defaults to
134 'cpu,cpuacct'. Pass an empty string to
135 ensure that systemd mounts all
136 controllers in separate
139 <para>Note that this option is only
140 applied once, at very early boot. If
141 you use an initial RAM disk (initrd)
142 that uses systemd it might hence be
143 necessary to rebuild the initrd if
144 this option is changed, and make sure
145 the new configuration file is included
146 in it. Otherwise the initrd might
147 mount the controllers in different
148 configuration than intended, and the
149 main system cannot remount them
150 anymore.</para></listitem>
154 <term><varname>RuntimeWatchdogSec=</varname></term>
155 <term><varname>ShutdownWatchdogSec=</varname></term>
157 <listitem><para>Configure the hardware
158 watchdog at runtime and at
159 reboot. Takes a timeout value in
160 seconds (or in other time units if
161 suffixed with <literal>ms</literal>,
162 <literal>min</literal>,
163 <literal>h</literal>,
164 <literal>d</literal>,
165 <literal>w</literal>). If
166 <varname>RuntimeWatchdogSec=</varname>
167 is set to a non-zero value the
169 (<filename>/dev/watchdog</filename>)
170 will be programmed to automatically
171 reboot the system if it is not
172 contacted within the specified timeout
173 interval. The system manager will
174 ensure to contact it at least once in
175 half the specified timeout
176 interval. This feature requires a
177 hardware watchdog device to be
178 present, as it is commonly the case in
179 embedded and server systems. Not all
180 hardware watchdogs allow configuration
181 of the reboot timeout, in which case
182 the closest available timeout is
183 picked. <varname>ShutdownWatchdogSec=</varname>
184 may be used to configure the hardware
185 watchdog when the system is asked to
186 reboot. It works as a safety net to
187 ensure that the reboot takes place
188 even if a clean reboot attempt times
190 <varname>RuntimeWatchdogSec=</varname>
191 defaults to 0 (off), and
192 <varname>ShutdownWatchdogSec=</varname>
193 to 10min. These settings have no
194 effect if a hardware watchdog is not
195 available.</para></listitem>
199 <term><varname>CapabilityBoundingSet=</varname></term>
201 <listitem><para>Controls which
202 capabilities to include in the
203 capability bounding set for PID 1 and
205 <citerefentry><refentrytitle>capabilities</refentrytitle><manvolnum>7</manvolnum></citerefentry>
206 for details. Takes a whitespace
207 separated list of capability names as
209 <citerefentry><refentrytitle>cap_from_name</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
210 Capabilities listed will be included
211 in the bounding set, all others are
212 removed. If the list of capabilities
213 is prefixed with ~ all but the listed
214 capabilities will be included, the
215 effect of the assignment
216 inverted. Note that this option also
217 affects the respective capabilities in
218 the effective, permitted and
219 inheritable capability sets. The
220 capability bounding set may also be
221 individually configured for units
223 <varname>CapabilityBoundingSet=</varname>
224 directive for units, but note that
225 capabilities dropped for PID 1 cannot
226 be regained in individual units, they
227 are lost for good.</para></listitem>
231 <term><varname>TimerSlackNSec=</varname></term>
233 <listitem><para>Sets the timer slack
234 in nanoseconds for PID 1 which is then
235 inherited to all executed processes,
236 unless overridden individually, for
238 <varname>TimerSlackNSec=</varname>
239 setting in service units (for details
241 <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>). The
242 timer slack controls the accuracy of
243 wake-ups triggered by timers. See
244 <citerefentry><refentrytitle>prctl</refentrytitle><manvolnum>2</manvolnum></citerefentry>
245 for more information. Note that in
246 contrast to most other time span
247 definitions this parameter takes an
248 integer value in nano-seconds if no
249 unit is specified. The usual time
251 too.</para></listitem>
255 <term><varname>DefaultLimitCPU=</varname></term>
256 <term><varname>DefaultLimitFSIZE=</varname></term>
257 <term><varname>DefaultLimitDATA=</varname></term>
258 <term><varname>DefaultLimitSTACK=</varname></term>
259 <term><varname>DefaultLimitCORE=</varname></term>
260 <term><varname>DefaultLimitRSS=</varname></term>
261 <term><varname>DefaultLimitNOFILE=</varname></term>
262 <term><varname>DefaultLimitAS=</varname></term>
263 <term><varname>DefaultLimitNPROC=</varname></term>
264 <term><varname>DefaultLimitMEMLOCK=</varname></term>
265 <term><varname>DefaultLimitLOCKS=</varname></term>
266 <term><varname>DefaultLimitSIGPENDING=</varname></term>
267 <term><varname>DefaultLimitMSGQUEUE=</varname></term>
268 <term><varname>DefaultLimitNICE=</varname></term>
269 <term><varname>DefaultLimitRTPRIO=</varname></term>
270 <term><varname>DefaultLimitRTTIME=</varname></term>
272 <listitem><para>These settings control
273 various default resource limits for
275 <citerefentry><refentrytitle>setrlimit</refentrytitle><manvolnum>2</manvolnum></citerefentry>
276 for details. Use the string
277 <varname>infinity</varname> to
278 configure no limit on a specific
279 resource. These settings may be
280 overridden in individual units
281 using the corresponding LimitXXX=
282 directives. Note that these resource
283 limits are only defaults for units,
284 they are not applied to PID 1
285 itself.</para></listitem>
291 <title>See Also</title>
293 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>