如何设置core dump时coredump文件的路径和文件名


如何设置core dump时coredump文件的路径和文件名

core dump所生产的core文件是我们还原异常的重要信息。

一、如何打开coredump文件

最简单粗暴:

ulimit -c unlimited

可以将上述这句命令写入~/.bashrc等登录加载的运行时配置文件中。

二、设置coredump和核心转储文件目录和命名规则

2.1 临时方法

/proc/sys/kernel/core_uses_pid 可以控制产生的 coredump 文件的文件名中是否添加 pid 作为扩展 ,如果添加则文件内容为 1 ,否则为 0。

/proc/sys/kernel/core_pattern 可以设置格式化的 coredump 文件保存位置或文件名,比如可以设置成:/corefile/core-%e-%p-%t,这样就会将coredump文件存放到/corefile目录下,并且文件名格式是:core-命令-PID-时间戳

具体可选的参数有:

%p - insert pid into filename 添加 pid
%u - insert current uid into filename 添加当前 uid
%g - insert current gid into filename 添加当前 gid
%s - insert signal that caused the coredump into the filename 添加导致产生 core 的信号
%t - insert UNIX time that the coredump occurred into filename 添加 core 文件生成时的 unix 时间
%h - insert hostname where the coredump happened into filename 添加主机名
%e - insert coredumping executable name into filename 添加命令名

2.2 永久设置

编辑/etc/sysctl.conf,添加类似:

kernel.core_pattern=core.%p

然后运行生效:

sysctl -p /etc/sysctl.conf

参考