V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
cwx391497
V2EX  ›  Linux

在 Linux 环境下针对内核线程或驱动进行动态内存统计

  •  
  •   cwx391497 · 2018-11-20 19:46:35 +08:00 · 1988 次点击
    这是一个创建于 1955 天前的主题,其中的信息可能已经有所发展或是发生改变。

    不知道 V 友们有没有熟悉这个操作的 现已知方法为使用 ftrace,跟踪 kmalloc 和 mm_page_alloc 等函数 但是,除开系统自带线程和进程后,留下的 log 可用数据十分少 大概 40w 条数据中有 5k 不到可用,不知道是什么地方出了问题?

    第 1 条附言  ·  2018-11-21 14:58:31 +08:00
    昨天被这个东西折磨的头昏脑涨,描述的不清楚

    其实是想统计 wlan 驱动的动态内存使用峰值
    使用 wpa_supplicant 操作 wlan 模块连接 AP 并使用 iperf 大批量发送数据
    wlan 模块通过 pcie 接口与 linux 电脑交互
    不知道有没有熟悉 pcie 驱动的朋友,
    我想知道通过 pcie 工作会起什么线程或者进程,或者说使用 ftrace 监测 pcie 需要打开特殊的编译选项
    3 条回复    2018-11-22 21:46:56 +08:00
    getecho
        1
    getecho  
       2018-11-21 13:39:02 +08:00
    没明白你在干嘛,隐式表达太多了吧
    rochek
        2
    rochek  
       2018-11-22 16:28:06 +08:00
    追踪驱动内的内存?

    开源驱动的话,编译时自定义下内存申请函数,define 替换
    #define kmalloc(a, b) my_kmalloc(a, b)
    chunk
        3
    chunk  
       2018-11-22 21:46:56 +08:00 via Android
    统计内核内存方法很多啊,至少可以写个模块,把内核线程所有的 pte 数一下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3267 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 14:11 · PVG 22:11 · LAX 07:11 · JFK 10:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.