Linux内存从0到1学习笔记(8.13 dma内存调试一)
现在我们对dma几个紧密关联的结构体有所了解,再结合相应的导入器,导出器使用示例,dma-buf的使用已经不再陌生。那么在日常使用过程中常常会遇到哪些问题呢?
当然,dma-buf也是内存使用大法的一部分,那就免不了遇到这几大件:1.dma不足(合理使用),这部分的优化慎之又慎,要么从系统内存的大锅里多盛一点,要么自己节衣缩食;2.dma-buf泄漏(不合理使用),这部分问题的排查需要一些手段,除了常规的日志埋点,我也总结了一些排查方法。
一, /proc/meminfo
查看meminfo中CmaTotal,CmaFree的分配以及占用情况。
/sys/kernel/debug/dma_buf # cat /proc/meminfo
MemTotal: 1027036 kB
MemFree: 1012096 kB
MemAvailable: 1009132 kB
Buffers: 136 kB
Cached: 2700 kB
SwapCached: 0 kB
Active: 2132 kB
Inactive: 932 kB
Active(anon): 0 kB