linux 隐形core文件之abrt服务

本文介绍了一个在程序调试过程中遇到的问题:当程序中的assert触发后,程序异常地持续写磁盘,即便已设置ulimit-c 0禁用core文件生成。通过一系列排查手段,最终定位问题是由于abrt服务导致的,并给出了具体的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

现象描述:

    最近在调试程序的过程中发现,在测试机器上已经执行ulimit -c  0,程序在gdb调试时中assert之后,程序直接退出;后台执行程序,发现程序中assert之后一直在写磁盘。

    截图ulimit -c  0

定位问题:

  1. 查看/proc/pid/fd下的信息定位不到写到什么地方,
  2. 使用iotop查看写磁盘速度100Mbps,定位不到写到什么地方;
  3. 使用pstack命令一直阻塞(程序在挂掉之后,此命令就不可用); 最后查看系统日志/var/log/messages,查到一些有用的信息,好像每次挂掉之后都会有abrt信息,上网查看abrt服务,最终定位是程序中assert之后abrt一直在写core文件。
    1.   截图展示

解决问题:

  1. 关闭abrtd服务,systemctl stop abrtd.service
  2. 修改配置文件,参照https://blog.youkuaiyun.com/lzyzuixin/article/details/53136508

 

转载于:https://www.cnblogs.com/triggerman/p/9205139.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值