Don't know why coredump is disabled by default on centos7.6 as below:shell
#cat /proc/sys/kernel/core_pattern core
Enable as follows:centos
#echo 'kernel.core_pattern=|/usr/lib/systemd/systemd-coredump %p %u %g %s %t %e' > /etc/sysctl.d/50-coredump.conf #/lib/systemd/systemd-sysctl #sysctl -a | grep 'kernel.core_pattern' kernel.core_pattern = |/usr/lib/systemd/systemd-coredump %p %u %g %s %t %e
warning: encountered a case it always failed to generate coredump when using shell scripts to run program; use another path can workaround this problem.ui
#cat /etc/sysctl.d/50-coredump.conf #kernel.core_pattern=|/usr/lib/systemd/systemd-coredump %p %u %g %s %t %e kernel.core_pattern=/core-%e-sig%s-user%u-group%g-pid%p-time%t
How to generate coredump on purpose?this
Press ctl + \
:centos7
#sleep 100 ^\Quit (core dumped)
or use gdb attach a running task and run:code
#sleep 100 & [1] 5121 #gdb -p 5121 (gdb) generate-core-file warning: target file /proc/5121/cmdline contained unexpected null characters warning: Memory read failed for corefile section, 8192 bytes at 0x7ffd4d94f000. Saved corefile core.5121 (gdb)
coredump:ip
#ls /var/lib/systemd/coredump/ core.sleep.0.f4b677edcb284566a56c5e61a621fca5.44660.1555487558000000.xz