我想检查一下我刚刚完成的内核驱动程序模块是否存在内存泄漏问题。但我不知道如何在内核空间中做到这一点。我认为动态内存分配很难处理。任何人都有在内核空间调试此类内存问题的经验吗?或者,我可以使用哪个工具来测量特定内核模块的动态内存使用情况?
答案 0 :(得分:3)
在内核模块中跟踪分配和释放内存真的很难,但你仍然有一些设施。 以下是一些调查内核空间内存泄漏的工具和方法。
/ proc / slabinfo(slabtop)。它收集有关内核结构的信息。不是关于模块一。但它仍然可能非常有用。
Kmem和ftrace 。只是链接:
https://www.kernel.org/doc/Documentation/trace/events-kmem.txt
http://elinux.org/Kernel_dynamic_memory_analysis
捕捉每个kmalloc,kfree等事件,并与他们一起制作相关信息。(c)