环境:
Freescale i.MX6 CPU
内核版本4.1.15
1、内核编译kmemleak
首先进行menuconfig
CONFIG_DEBUG_KMEMLEAK=y
CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=20000 #这个在数值较小时功能不正常
CONFIG_DEBUG_KMEMLEAK_TEST=m
2、开启kmemleak功能
mount -t debugfs nodev /sys/kernel/debug
开启线程栈区的扫描
echo stack=on > /sys/kernel/debug/kmemleak
3、常用命令
开启kmemleak的自动扫描功能
echo scan=on > /sys/kernel/debug/kmemleak
将扫面间隔设置为120s
echo scan=120 > /sys/kernel/debug/kmemleak
清除当前记录的内容
echo clear > /sys/kernel/debug/kmemleak
查看kmemleak记录的意思泄漏内容
cat /sys/kernel/debug/kmemleak