2012-09-13 59 views
0

是否可以在沒有調用mmap2的情況下分配內存?沒有mmap2系統調用strace的內存分配?

我正在研究A10板視頻播放器,在那裏我有一個巨大的內存泄漏。可能在每個幀顯示器中。有一個庫libvecore處理系統調用,我們沒有源。

我知道A10不是普通主題,所以我的問題不是針對A10,而是針對內核內存分配。

我試圖通過以下方式跟蹤程序:strace -e mmap2 ./VideoPlayer

但我很驚訝的結果。它不會調用mmap2,而只在啓動時調用視頻播放器。

但是同時我從TOP看到內存使用情況我可以看到VideoPlayer有爭議的分配內存,它在3分鐘內幾乎吃掉了300 MB。

所以我應該考慮內存泄漏是在內核?或者有任何其他調用來動態分配內存?

回答

3

是的,正常的內存分配方式是通過brk系統調用。

+0

感謝您的更新。我認爲brk是用來重新分配內存的權利?我也跟蹤過brk,但在播放視頻時沒有brk的調用。任何其他功能? –

+0

你如何確定應用程序正在分配內存?我懷疑你錯了,內核只是從文件系統中緩存數據。 「free」命令的輸出對於確定內存使用情況完全沒有用處。 –