1、概述
• systemd-coredump收集并显示内核核心转储,用于分析应用程序崩溃。当一个进程崩溃(或属于一个应用程序的所有进程)时,它的默认设置是将核心转储记录到systemd日志中,如果可能的话包括回溯,并将核心转储存储在 /var/lib/systemd/coredump.
• 还可以选择使用其他工具检查转储文件,例如gdb或 crash,
• 有一个选项不存储核心转储,而只记录到日志中,这可能有助于最大限度地减少敏感信息的收集和存储。
2、配置
systemd-coredump默认情况下已启用并准备好运行。默认配置在/etc/systemd/coredump.conf:
[Coredump]
#Storage=external
#Compress=yes
#ProcessSizeMax=2G
#ExternalSizeMax=2G
#JournalSizeMax=767M
#MaxUse=
#KeepFree=
下面的例子展示了如何使用 Vim 进行简单的测试,通过创建一个段错误来生成日志条目和一个核心转储。
2.1 使用 VIM 创建核心转储
<1> 启用debuginfo-pool和 debuginfo-update存储库
<2> 安装vim 调试信息
<3> 启动vim testfile并输入几个字符
<4> 获取 PID 并生成段错误:
ps ax | grep vim
2345 pts/3 S+ 0:00 vim testfile
kill -s SIGSEGV 2345
Vim 会发出错误信息:
Vim: Caught deadly signal SEGV
Vim: Finished.
Se