Linux生成core文件、core文件路径设置

设置core文件大小

##查看core文件
列出所有资源的限制: ulimit -a

[root@localhost ~]#  ulimit -a
core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 15027
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 15027
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

unlimited:core文件的大小不受限制
0:程序出错时不会产生core文件
1024:代表1024k,core文件超出该大小就不能生成了

设置core文件

ulimit -c fileSize

设置core文件的名称和文件路径

  • 修改文件命令
    #vim /etc/profile,然后进入编辑模式,在profile文件中加入
    ulimit -c unlimited
  • 指定生成文件的路径和名字
    执行# vim /etc/sysctl.conf,进入编辑模式,加入下面两行
    kernel.core_pattern=/var/core/core_%e_%p
    kernel.core_uses_pid=0

在var下创建core目录,用# sysctl –p /etc/sysctl.conf,是修改马上生效。

测试

 kill -s SIGSEGV $$ ,执行命令,可以看到/var/core下生成了一个core文件

遇到的问题

1、修改后为生效
重新启动服务器
2、gdb调试提示:Missing separate debuginfos, use: debuginfo-install coreutils-8.22-24.el7.x86_64
原因:使用yum install glibc安装,发现只是安装了一些基本库,不包含 glibc-debuginfo
解决:1、修改“/etc/yum.repos.d/CentOS-Debuginfo.repo”文件的enable=1
2、 执行:debuginfo-install coreutils-8.22-24.el7.x86_64

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值