Linux环境下如何⽣成core⽂件
Linux环境下进程发⽣异常⽽挂掉,通常很难查原因,但是⼀般Linux内核给我们提供的核⼼⽂件,记录了进程在崩溃时候的信息。但是⽣成core⽂件需要设置开关,具体步骤如下:
1、查看⽣成core⽂件的开关是否开启,输⼊命令# ulimit -a
第⼀⾏core⽂件⼤⼩为0,表⽰没有开启。
2、使⽤#ulimit -c [kbytes]可以设置系统允许⽣成的core⽂件⼤⼩(临时⽣效);
ulimit -c 0 不产⽣core⽂件
ulimit -c 100 设置core⽂件最⼤为100k
ulimit -c unlimited 不限制core⽂件⼤⼩
执⾏命令# ulimit -c unlimited,然后ulimit -a查看core
3、永久⽣效的⽅法
#vim /etc/profile,然后进⼊编辑模式,在profile⽂件中加⼊
ulimit -c unlimited
保存退出,重启服务器,改⽂件就长久⽣效,或者#source /etc/profile,不重启服务器,使⽤source使⽂件马上⽣效。
指定⽣成⽂件的路径和名字;执⾏# vim /f,进⼊编辑模式,加⼊下⾯两⾏
<_pattern=/var/corefile/core_%e_%p
<_uses_pid=0
#  sysctl -p /f,是修改马上⽣效。
core_pattern的命名参数如下:
%c 转储⽂件的⼤⼩上限
%e 所dump的⽂件名
%g 所dump的进程的实际组ID
%h 主机名
%p 所dump的进程PID
%s 导致本次coredump的信号
%t 转储时刻(由1970年1⽉1⽇起计的秒数)
linux下vim命令%u 所dump进程的实际⽤户ID
4、# kill -s SIGSEGV $$ ,执⾏命令,可以看到/tmp/corefile下⽣成了⼀个core⽂件,说明已经设置成功。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。