2015-06-07 48 views
1

我想檢查剛剛完成的內核驅動程序模塊是否存在內存泄漏問題。但我不知道如何在內核空間中做到這一點。動態內存分配非常難以處理,我認爲。任何人都有調試內核空間中的內存問題的經驗嗎?或者,我可以使用哪種工具來衡量特定內核模塊的動態內存使用情況?測量某個Linux驅動程序模塊的內存使用情況

回答

1

在內核模塊中跟蹤分配和釋放內存真的很難,但是你仍然有一些設施。 這裏有幾個工具和方法來研究內核空間中的內存泄漏。

  1. 的/ proc/slabinfo(slabtop)。它收集有關內核結構的信息。不是真的關於模塊之一。但它仍然可能非常有幫助。

  2. Kmem和ftrace。只是鏈接:

https://www.kernel.org/doc/Documentation/trace/events-kmem.txt

http://elinux.org/Kernel_dynamic_memory_analysis

陷阱每個的kmalloc,kfree等事件,並與他們產生相關信息(c)中

  • /proc/modules(lsmod)。除了信息加載時模塊使用多少內存以外,沒有什麼特別的。實際上它只是一個模塊的大小。
  • 相關問題