是否可以在不调用 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/