systemd-coredump
systemd
Developer
Lennart
Poettering
lennart@poettering.net
systemd-coredump
8
systemd-coredump
systemd-coredump.socket
systemd-coredump@.service
Log and store core dumps
/usr/lib/systemd/systemd-coredump
systemd-coredump@.service
systemd-coredump.socket
Description
systemd-coredump can be used as a helper
binary by the kernel when a user space program receives a fatal
signal and dumps core. For it to be used in this capacity, it must
be specified by the
kernel.core_pattern sysctl8
setting. The syntax of this setting is explained in
core5.
Systemd installs /usr/lib/sysctl.d/50-coredump.conf which configures
kernel.core_pattern to invoke systemd-coredump.
This file may be masked or overridden to use a different setting following normal
sysctl.d5
rules.
The behavior of a specific program upon reception of a
signal is governed by a few factors which are described in detail
in core5.
In particular, the coredump will only be processed when the
related resource limits are high enough. For programs started by
systemd, those may be set using
LimitCore= (see
systemd.exec5).
The behaviour of systemd-coredump is configured through
/etc/systemd/coredump.conf and other configuration files. See
coredump.conf5
for details. By default, systemd-coredump will log the coredump including a
backtrace if possible, and store the core (contents of process' memory contents) in an external
file on disk in /var/lib/systemd/coredump.
When the kernel invokes systemd-coredump to handle a coredump,
it will connect to the socket created by the systemd-coredump.socket
unit, which in turn will spawn a systemd-coredump@.service instance
to process the coredump. Hence systemd-coredump.socket
and systemd-coredump@.service are helper units which do the actual
processing of coredumps and are subject to normal service management.
The log entry and a backtrace are stored in the journal, and can be viewed with
journalctl1.
coredumpctl1
may be used to list and extract coredumps or load them in
gdb1.
The coredump helper is invoked anew each time. Therefore, any configuration
changes will take effect on the invocation of systemd-coredump.
If the sysctl configuration is modified, it must be updated in the kernel before
it takes effect, see
systemd-sysctl8
and
sysctl8.
See Also
coredump.conf5,
coredumpctl1,
systemd-journald.service8,
core5,
sysctl.d5,
systemd-sysctl.service8.