mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-01-12 09:17:44 +03:00
e96d6be763
This adds minimal hardware watchdog support to PID 1. The idea is that PID 1 supervises and watchdogs system services, while the hardware watchdog is used to supervise PID 1. This adds two hardware watchdog configuration options, for the runtime watchdog and for a shutdown watchdog. The former is active during normal operation, the latter only at reboots to ensure that if a clean reboot times out we reboot nonetheless. If the runtime watchdog is enabled PID 1 will automatically wake up at half the configured interval and write to the watchdog daemon. By default we enable the shutdown watchdog, but leave the runtime watchdog disabled in order not to break independent hardware watchdog daemons people might be using. This is only the most basic hookup. If necessary we can later on hook up the watchdog ping more closely with services deemed crucial.
208 lines
10 KiB
XML
208 lines
10 KiB
XML
<?xml version='1.0'?> <!--*-nxml-*-->
|
|
<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"?>
|
|
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
|
|
|
<!--
|
|
This file is part of systemd.
|
|
|
|
Copyright 2010 Lennart Poettering
|
|
|
|
systemd is free software; you can redistribute it and/or modify it
|
|
under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 2 of the License, or
|
|
(at your option) any later version.
|
|
|
|
systemd is distributed in the hope that it will be useful, but
|
|
WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
|
-->
|
|
|
|
<refentry id="systemd.conf">
|
|
<refentryinfo>
|
|
<title>systemd.conf</title>
|
|
<productname>systemd</productname>
|
|
|
|
<authorgroup>
|
|
<author>
|
|
<contrib>Developer</contrib>
|
|
<firstname>Lennart</firstname>
|
|
<surname>Poettering</surname>
|
|
<email>lennart@poettering.net</email>
|
|
</author>
|
|
</authorgroup>
|
|
</refentryinfo>
|
|
|
|
<refmeta>
|
|
<refentrytitle>systemd.conf</refentrytitle>
|
|
<manvolnum>5</manvolnum>
|
|
</refmeta>
|
|
|
|
<refnamediv>
|
|
<refname>systemd.conf</refname>
|
|
<refpurpose>systemd manager configuration file</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<para><filename>system.conf</filename></para>
|
|
<para><filename>user.conf</filename></para>
|
|
</refsynopsisdiv>
|
|
|
|
<refsect1>
|
|
<title>Description</title>
|
|
|
|
<para>When run as system instance systemd reads the
|
|
configuration file <filename>system.conf</filename>,
|
|
otherwise <filename>user.conf</filename>. These
|
|
configuration files contain a few settings controlling
|
|
basic manager operations.</para>
|
|
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Options</title>
|
|
|
|
<para>All options are configured in the
|
|
<literal>[Manager]</literal> section:</para>
|
|
|
|
<variablelist>
|
|
|
|
<varlistentry>
|
|
<term><varname>LogLevel=</varname></term>
|
|
<term><varname>LogTarget=</varname></term>
|
|
<term><varname>LogColor=</varname></term>
|
|
<term><varname>LogLocation=</varname></term>
|
|
<term><varname>DumpCore=yes</varname></term>
|
|
<term><varname>CrashShell=no</varname></term>
|
|
<term><varname>ShowStatus=yes</varname></term>
|
|
<term><varname>SysVConsole=yes</varname></term>
|
|
<term><varname>CrashChVT=1</varname></term>
|
|
<term><varname>DefaultStandardOutput=journal</varname></term>
|
|
<term><varname>DefaultStandardError=inherit</varname></term>
|
|
|
|
<listitem><para>Configures various
|
|
parameters of basic manager
|
|
operation. These options may be
|
|
overridden by the respective command
|
|
line arguments. See
|
|
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
|
for details about these command line
|
|
arguments.</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><varname>CPUAffinity=</varname></term>
|
|
|
|
<listitem><para>Configures the initial
|
|
CPU affinity for the init
|
|
process. Takes a space-separated list
|
|
of CPU indexes.</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><varname>MountAuto=yes</varname></term>
|
|
<term><varname>SwapAuto=yes</varname></term>
|
|
|
|
<listitem><para>Configures whether
|
|
systemd should automatically activate
|
|
all swap or mounts listed in
|
|
<filename>/etc/fstab</filename>, or
|
|
whether this job is left to some other
|
|
system script.</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><varname>DefaultControllers=cpu</varname></term>
|
|
|
|
<listitem><para>Configures in which
|
|
cgroup controller hierarchies to
|
|
create per-service cgroups
|
|
automatically, in addition to the
|
|
name=systemd named hierarchy. Defaults
|
|
to 'cpu'. Takes a space separated list
|
|
of controller names. Pass an empty
|
|
string to ensure that systemd does not
|
|
touch any hierarchies but its
|
|
own.</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><varname>JoinControllers=cpu,cpuacct</varname></term>
|
|
|
|
<listitem><para>Configures controllers
|
|
that shall be mounted in a single
|
|
hierarchy. By default systemd will
|
|
mount all controllers which are
|
|
enabled in the kernel in individual
|
|
hierachies, with the exception of
|
|
those listed in this setting. Takes a
|
|
space separated list of comma
|
|
separated controller names, in order
|
|
to allow multiple joined
|
|
hierarchies. Defaults to
|
|
'cpu,cpuacct'. Pass an empty string to
|
|
ensure that systemd mounts all
|
|
controllers in separate
|
|
hierarchies.</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><varname>RuntimeWatchdogSec=</varname></term>
|
|
<term><varname>ShutdownWatchdogSec=</varname></term>
|
|
|
|
<listitem><para>Configure the hardware
|
|
watchdog at runtime and at
|
|
reboot. Takes a timeout value in
|
|
seconds (or in other time units if
|
|
suffixed with <literal>ms</literal>,
|
|
<literal>min</literal>,
|
|
<literal>h</literal>,
|
|
<literal>d</literal>,
|
|
<literal>w</literal>). If
|
|
<varname>RuntimeWatchdogSec=</varname>
|
|
is set to a non-zero value the
|
|
watchdog hardware
|
|
(<filename>/dev/watchdog</filename>)
|
|
will be programmed to automatically
|
|
reboot the system if it is not
|
|
contacted within the specified timeout
|
|
interval. The system manager will
|
|
ensure to contact it at least once in
|
|
half the specified timeout
|
|
interval. This feature requires a
|
|
hardware watchdog device to be
|
|
present, as it is commonly the case in
|
|
embedded and server systems. Not all
|
|
hardware watchdogs allow configuration
|
|
of the reboot timeout, in which case
|
|
the closest available timeout is
|
|
picked. <varname>ShutdownWatchdogSec=</varname>
|
|
may be used to configure the hardware
|
|
watchdog when the system is asked to
|
|
reboot. It works as a safety net to
|
|
ensure that the reboot takes place
|
|
even if a clean reboot attempt times
|
|
out. By default
|
|
<varname>RuntimeWatchdogSec=</varname>
|
|
defaults to 0 (off), and
|
|
<varname>ShutdownWatchdogSec=</varname>
|
|
to 10min. These settings have no
|
|
effect if a hardware watchdog is not
|
|
available.</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>See Also</title>
|
|
<para>
|
|
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
|
</para>
|
|
</refsect1>
|
|
|
|
</refentry>
|