查看 coredump 文件是否开启,如下输出表示没有开启
$ ulimit -a core file size (blocks, -c) 0 ... $ ulimit -c 0
临时开启,
$ ulimit -c unlimited
要永久开启,将语句加入 /etc/profile,
ulimit -c unlimited
并使其即时生效,
$ source /etc/profile
可在 /etc/sysctl.conf 中配置 coredump 文件相关参数,
%e 所dump的文件名 %g 所dump的进程的实际组ID %h 主机名 %p 所dump的进程PID %s 导致本次coredump的信号 %t 转储时刻 (</span>由1970年1月1日起计的秒数) %u 所dump进程的实际用户ID
例如,配置 coredump 文件转储到 /tmp/core_dump文件名_进程PID_时间,则添加如下内容到 /etc/sysctl.conf,
######################################### # For user define coredump file location kernel.core_pattern=/tmp/core_%e_%p_%t
然后使其即时生效,
$ sudo sysctl -p /etc/sysctl.conf
这样,所有 coredump 文件就会在 /tmp 目录下了。
要永久取消 coredump,在 /etc/profile 中加入,
# ulimit -c unlimited # 注掉
ulimit -S -c 0 > /dev/null 2>&1
(完)