This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM5728:OMAP 缓冲器对象的内存泄漏问题

Guru**** 2562120 points
Other Parts Discussed in Thread: AM5728

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/594680/am5728-memory-leak-issue-with-omap-buffer-object

器件型号:AM5728

您好!

我们在 AM5728 EVM 板上使用 Processor SDK 3.3()。

我们已编写了参考 videenc2测试应用的自定义编码应用 )。 我们发现内存泄漏问题。 下面是 API 使用顺序。

分配和映射:

omap_bo_new:缓冲区分配

omap_bo_map:映射到进程地址空间

omap_bo_dabuf:获取 dmabuf fd 以与 Remoteproc 共享

DCE_buf_lock:保留缓冲区 Mmrpc_use

取消分配和免费:

DCE_BUF_UNLOCK:Mmrpc_release

关闭:fd 由 omap_bo_dmabuf 给出

omap_bo_del:删除缓冲区对象

但是、即使在进程退出后、这些缓冲区似乎也不会被释放。 请告知我们是否在无缓冲区中遗漏了任何步骤。

也可以使用 Gstreamer 流水线轻松重现此问题。

!/bin/bash
A=0

而[$a -lt 50000 ]

操作
      对于*。264中的文件名;请执行
          gs-launch-1.0文件 rc loce="$filename"! 诱骗! fakesink
      完成
      A=`` expr $a + 1 μ s
完成

"free"命令用于存储器统计信息。

板载引导:

root@am57xx-EVM:~#
root@am57xx-EVM:免费提供~#
可用的可用空闲共享缓冲区/高速缓存总数
MEM:1868348 153452 1511280 28844 203616 1657036
交换:0 0 0

多个 G-streamer 迭代之后

root@am57xx-EVM:~#
root@am57xx-EVM:免费提供~#
可用的可用空闲共享缓冲区/高速缓存总数
内存:1868348 155128 63060 28868 1650160 1655144
交换:0 0 0
root@am57xx-EVM:~#

这似乎不是特定于应用程序的虚拟内存泄漏问题、因为 Linux 在进程退出时会释放所有分配的内存。 使用 free 命令退出进程后、将检查内存统计信息。 此问题看起来与 OMAP-bo API 或其使用情况有关。 请告诉我们是否有办法确定使用此内存的驱动程序/获取更多信息。

如果需要更多/具体信息、请告知我们。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    软件团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是否有此更新?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我正在与软件团队进行检查。 您的查询已升级。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    您是否曾尝试启用 kmemleak 工具或使用 Valgrind 查看您是否会获得有关内存泄漏的任何其他信息?

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    达尔山

    是什么让您相信发生了内存泄漏? 您似乎缺少对 Free cmd output 的解释。 请在上面进行谷歌搜索。

    以下链接可帮助您澄清疑问:
    www.hecticgeek.com/.../