gpt4 book ai didi

memory - 测量某个Linux驱动模块的内存使用情况

转载 作者:行者123 更新时间:2023-12-02 07:25:03 24 4
gpt4 key购买 nike

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

最佳答案

跟踪内核模块中的内存分配和释放确实很困难,但是您仍然有一些工具。这里有一些用于调查内核空间内存泄漏的工具和方法。

  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)。除了加载模块时使用了多少内存之外,没有什么特别的。事实上它只是一个模块的大小。
  • 关于memory - 测量某个Linux驱动模块的内存使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30693454/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com