abrt-ccpp

systemctl status abrt-ccpp.service

在这里插入图片描述

service stop abrt-ccpp

service disable abrt-ccpp

abrt由一个守护程序组成,该程序通常在后台运行,当应用程序崩溃或者检测到内核oops时,它会立即生效,守护进程会收集相关的问题数据,But abrt服务相关的进程会导致内存被占用,不会自动释放。

Linux的进程管理

Linux 系统从 kernel 2.6.19 版本开始支持将 core dump 文件直接传递给用户指定的程序进行处理,而不是直接写入磁盘文件。这种机制允许系统管理员灵活地控制 core dump 的生成方式和存储路径。在许多现代 Linux 发行版中,`abrt-hook-ccpp` 是一个典型的处理 core dump 的工具,它属于 `abrt-addon-coredump-helper` RPM 包,例如在 Fedora 系统中其版本为 `abrt-addon-coredump-helper-2.7.0-2.fc23.x86_64`[^2]。 通过 `/proc/sys/kernel/core_pattern` 接口可以配置 core dump 的生成规则。若希望将 core dump 数据传递给 `abrt-hook-ccpp` 进行处理,则可以使用管道符号 `|` 指定该程序及其参数。例如: ```bash echo "|/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e %E" > /proc/sys/kernel/core_pattern ``` 上述命令中的格式化变量代表不同的崩溃信息: - `%s`:信号编号; - `%c`:core file size limit; - `%p`:进程 PID; - `%u`:真实用户 ID; - `%g`:真实组 ID; - `%t`:时间戳; - `%E`:可执行文件的路径。 当 core dump 被触发时,内核会将这些参数传递给指定的程序(如 `abrt-hook-ccpp`),从而实现对 core dump 的自定义处理逻辑。这种方式能够避免直接生成大型 core 文件占用磁盘空间,同时还可以结合 ABRT(Automatic Bug Reporting Tool)等系统错误报告机制进行自动化问题收集与分析[^2]。 需要注意的是,临时修改 `/proc/sys/kernel/core_pattern` 的内容在系统重启后不会保留。为了确保配置持久生效,应将其写入 `/etc/sysctl.conf` 或 `/etc/sysctl.d/` 目录下的配置文件中,例如: ```bash kernel.core_pattern = |/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e %E ``` 随后运行 `sysctl -p` 命令以应用新的配置。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值