4.14版本内核查看camera ion内存分配情况的方法

使用4.14版本的内核,ion debug的接口相对于老版本4.9内核发生了变化。4.9版本的内核的ion debug接口在/sys/kernel/debug/ion/clients/和/sys/kernel/debug/ion/heaps/两个目录下,4.14版本已经没有了这两个目录。4.14版本增加了/sys/kernel/debug/dma_buf/dmaprocs节点来导出各进程的ion内存使用情况。

 

下面以camera为例来看看在4.14版本上如何查看ion内存使用信息。

 

首先获得要查询进程的PID,我们通过进程名称,在ps命令的输出中查找:

:/ # ps -A | grep camera                                                                                                                                                                          
cameraserver   708     1  749220  47176 binder_ioctl_write_read 0 S android.hardware.camera.provider@2.4-service_64
cameraserver   939     1   39152  18524 binder_ioctl_write_read 0 S cameraserver

输出显示进程android.hardware.camera.provider@2.4-service_64的PID号为708.

 

然后,在/sys/kernel/debug/dma_buf/dmaprocs节点中查找该PID进程所占用的内存情况:

:/ # cat /sys/kernel/debug/dma_buf/dmaprocs | grep 708                                                                                                                                            
provider@2.4-se (PID 708) size: 205448

输出显示进程名为provider@2.4-se(这是截短的进程名),PID为708,总共使用ion的size为205448,单位为K。

 

在测试过程中,我们可以通过这种方法来监控该进程的ion内存占用变化情况,判断是否出现ion内存泄漏。

posted @ 2019-05-07 14:40  zzzxzzz  阅读(2239)  评论(0编辑  收藏  举报