查看相关配置ulimit -a
设置与查看core文件大小限制ulimit -c unlimited #不限制core文件大小
ulimit -c 1024 #限制大小为1024
ulimit -c #查看core文件限制
查看core文件生成路径
#查看路径sysctl kernel.core_pattern#或者cat /proc/sys/kernel/core_pattern
设置core文件生成路径临时修改:使用sysctl -w name=value命令。
例:sysctl -w kernel.core_pattern=/data/core/core-%e-%t-%p.core
永久修改:将其添加到/etc/sysctl.conf中kernel.core_pattern=/data/core/core-%e-%t-%p.corecore
文件路径可通过以下占位符进行丰富
%p - pid(进程id)%u - 当前uid(用户id)
%g - 当前gid(用户组id)
%s - 导致产生core的信号
%t - core文件生成时的unix时间
%h - 主机名
%e - 导致产生core的命令名
设置core文件的名称和文件路径修改文件命令
#vim /etc/profile,然后进入编辑模式,
在profile文件中加入ulimit -c unlimited指定生成文件的路径和名字执行
# vim /etc/sysctl.conf,进入编辑模式,加入下面两行
kernel.core_pattern=/var/core/core_%e_%pkernel.core_uses_pid=0
在var下创建core目录,
用# sysctl –p /etc/sysctl.conf,是修改马上生效。
测试
kill -s SIGSEGV $$ ,执行命令,可以看到/var/core下生成了一个core文件
可以使用kill -s 11或者6