美文网首页
kmemleak的简单使用

kmemleak的简单使用

作者: uoy_fo_lla_kcuf | 来源:发表于2018-05-03 01:10 被阅读0次

    简介

    • kmemleak是linux kernel中用于就检测内存泄露的一种机制。其类似于垃圾收集器,但是与垃圾收集器不同的是,侦测到的孤儿对象不会被free掉,而是通过kmemleak显示出来。

    如何打开

    • 打开kernel config kernel memory leak detector
    • 调整Maximum kmemleak early log entries的大小,如果不调整这个参数的大小,在启动的过程中可能会出现由于 entries 太小而导致kmemleak一直保持disable的状态,这在 mm/kmemleak.c 中可以看到相关的代码,当entries 太小的时候, 会调用kmemleak_disable()来disable掉kmemleak。
    • 在boot cmdline中加入参数 kmemleak=on 用来enable kmemleak。

    如何使用kmemleak

    • 挂载debugfs
    • mount -t debugfs nodev /sys/kernel/debug/
    • 使用kmemleak
    • 扫描发现memory leak: echo scan > /sys/kernel/debug/kmemleak
    • 查看扫描到的leak对象:cat /sys/kernel/debug/kmemleak
    • 清除扫描到的泄露对象:echo clear > /sys/kernel/debug/kmemleak

    相关文章

      网友评论

          本文标题:kmemleak的简单使用

          本文链接:https://www.haomeiwen.com/subject/uawhrftx.html