c - 没有 mmap2 系统调用 strace 的内存分配?

标签 c memory-management memory-leaks linux-kernel strace

是否可以在不调用 mmap2 的情况下分配内存?

我当时正在开发 A10 板载视频播放器,但存在巨大的内存泄漏问题。可能在每一帧显示器中。有一个处理系统调用的库 libvecore,但我们没有源代码。

我知道 A10 不是常见主题,所以我的问题不是针对 A10,而是针对内核内存分配。

我尝试使用以下命令跟踪程序:strace -e mmap2 ./VideoPlayer

但我对结果感到惊讶。它不会调用 mmap2 而它只在启动时调用视频播放器。

但与此同时,我从 TOP 看到了内存使用情况,我可以看到 VideoPlayer 正在争相分配内存,它几乎在 3 分钟内消耗了 300 MB。

那么我应该考虑内存泄漏在内核中吗?或者有任何其他动态分配内存的调用?

最佳答案

是的,内存分配的正常方式是通过 brk 系统调用。

关于c - 没有 mmap2 系统调用 strace 的内存分配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12399388/

相关文章:

c - 当我使用像这样的头文件时,如何停止#including 冗余头文件?

c - 以下使用 strcat_s 显示 "C4047: differs in levels of indirection"

visual-c++ - 使用 SQLite 时出现大量内存泄漏

c - 如何使用内核模块计算 Linux 中进程的匿名页面和共享页面

iphone - MKMapView 上的多个 MKOverlay 会导致内存警告

javascript - 使用 javascript 模块模式安全吗?

c# - WPF DropShadowEffect 和 Blur 内存泄漏

python - 为什么此代码对 NULL 句柄调用 CloseHandle?

c - 获取单个字符并将其传递给 C 中的函数

c - 分配给字符串数组的内存量?