Memory 测量某个Linux驱动程序模块的内存使用情况

Memory 测量某个Linux驱动程序模块的内存使用情况,memory,memory-leaks,linux-kernel,linux-device-driver,Memory,Memory Leaks,Linux Kernel,Linux Device Driver,我想检查我刚刚完成的内核驱动程序模块是否存在内存泄漏问题。但我不知道如何在内核空间中做到这一点。我认为动态内存分配很难处理。有人有在内核空间调试这种内存问题的经验吗?或者,我可以使用哪种工具来测量特定内核模块的动态内存使用情况?跟踪内核模块中的内存分配和释放非常困难,但您仍然有一些工具。 这里有两个工具和方法来调查内核空间中的内存泄漏 /proc/slabinfo(slabtop)。它收集有关内核结构的信息。不是关于第一单元的。但它仍然可能非常有用 Kmem和ftrace。仅链接: 捕获每个

我想检查我刚刚完成的内核驱动程序模块是否存在内存泄漏问题。但我不知道如何在内核空间中做到这一点。我认为动态内存分配很难处理。有人有在内核空间调试这种内存问题的经验吗?或者,我可以使用哪种工具来测量特定内核模块的动态内存使用情况?

跟踪内核模块中的内存分配和释放非常困难,但您仍然有一些工具。 这里有两个工具和方法来调查内核空间中的内存泄漏

  • /proc/slabinfo(slabtop)。它收集有关内核结构的信息。不是关于第一单元的。但它仍然可能非常有用

  • Kmem和ftrace。仅链接:

  • 捕获每个kmalloc、kfree等事件并生成相关信息。(c)

  • /proc/modules(lsmod)。除了模块加载时使用的内存量以外,没有什么特别的信息。事实上,它只是一个模块的大小