在 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

在输出中查找与路径相关的配置信息。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐