Linux内核-kmemleak

工作原理

<<TODO>>

使用方法

开启kmemleak

Linux Kernel配置将以下功能宏打开

CONFIG_DEBUG_KMEMLEAK=y
CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=20000

使用kmemleak

  • 挂载debug目录

    mount -t debugfs nodev /sys/kernel/debug/

  • 查看内存泄漏位置

    cat /sys/kernel/debug/kmemleak

  • 手动开启扫描

    echo scan > /sys/kernel/debug/kmemleak

检测示例

<<TODO>>

FAQ

mount后在/sys/kernel/debug目录下未看到kmemleak

确认CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE值是否够大, 若不够大,则会自动disable掉
确认方法:dmesg看是否有以下内容

kmemleak: Early log buffer exceeded (506), please increase DEBUG_KMEMLEAK_EARLY_LOG_SIZE

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容