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

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

  •  
  •   cwx391497 · 357 天前 · 998 次点击
    这是一个创建于 357 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    第 1 条附言  ·  357 天前
    昨天被这个东西折磨的头昏脑涨,描述的不清楚

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

    开源驱动的话,编译时自定义下内存申请函数,define 替换
    #define kmalloc(a, b) my_kmalloc(a, b)
        3
    chunk   355 天前 via Android
    统计内核内存方法很多啊,至少可以写个模块,把内核线程所有的 pte 数一下
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3181 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 25ms · UTC 10:24 · PVG 18:24 · LAX 02:24 · JFK 05:24
    ♥ Do have faith in what you're doing.