Linux内核内存泄漏排查手段

本文介绍了Linux内核内存泄漏的排查方法,包括使用kmemleak跟踪kmalloc等分配情况,通过slabinfo工具检测内存越界和泄漏,以及结合sys和proc目录进行分析。详细讲解了每个工具的使用步骤和注意事项。

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

作为一个合格的BSP开发人员,在工作中会碰到各种内存泄漏的问题,遇到该问题的时候要如何确认问题原因和排查方向 这是大家一直比较关心的问题,接下来我主要介绍几款BSP工程师排查内核内存泄漏的手段和方式

内存泄漏之kmemleak

内存泄漏指的是申请的内存没有及时释放 导致内存不够用,这个时候就需要定位到底是哪个哪个模块哪个函数出现了问题最简单有效的手段是kmemleak;
kmemleak会去跟踪kmalloc、vlmalloc等使用情况,把没有释放的内存dump出来,废话少说先上操作流程
1.打开内核配置选项
在这里插入图片描述
注意一定要修改maxinum log值 默认是400 如果没有修改会出现kmemleak无法使用的问题
注意编译一下M Simple模块用于测试使用
2.uboot下配置cmdline参数 默认打开kemleak ->kmemleak=on
内核启动之后
3.mount -t debugfs nodev /sys/kernel/debug
内核默认每10分钟扫描一次 也可以手动开启
4.echo scan > /sys/kernel/debug/kmemleak
5.cat /sys/kernel/debug/kmemleak<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值