ubuntu上如何查看coredump文件默认保存在哪个路径?
在 Ubuntu 系统中,可以通过以下几种方式来查看 coredump 文件默认保存的路径:
1. 查看core_pattern
配置
core_pattern
是一个内核参数,它决定了 coredump 文件的保存位置和命名规则。可以通过以下命令查看其当前值:
cat /proc/sys/kernel/core_pattern
- 输出解释:
- 如果输出是一个简单的文件名,比如
core
,那么 coredump 文件会保存在程序崩溃时所在的工作目录下,文件名为core
。 - 如果输出是一个包含
%
格式化字符的路径,例如/var/crash/core.%e.%p.%h.%t
,这表示 coredump 文件会按照指定的格式保存在/var/crash
目录下。其中,%e
代表程序的文件名,%p
代表进程 ID,%h
代表主机名,%t
代表崩溃时间戳。
- 如果输出是一个简单的文件名,比如
2. 使用sysctl
命令查看
sysctl
命令可以用来查看和修改内核参数。可以使用以下命令查看core_pattern
的值:
sysctl kernel.core_pattern
该命令的输出与直接查看/proc/sys/kernel/core_pattern
文件的内容是相同的。
3. 通过systemd
配置查看
在现代的 Ubuntu 系统中,systemd
负责处理 coredump。可以通过以下命令查看systemd
的 coredump 配置:
systemctl show --property=Storage --value systemd-coredump
- 输出解释:
- 如果输出为
external
,表示 coredump 文件会被保存到/var/lib/systemd/coredump
目录下。 - 如果输出为
none
,则表示不保存 coredump 文件。 - 如果输出为
journal
,表示 coredump 信息会被记录到系统日志中,而不是保存为文件。
- 如果输出为
还可以通过以下命令查看systemd-coredump
的完整配置:
systemctl show systemd-coredump
在输出中查找与路径相关的配置信息。