|
发表于 2020-9-17 20:45:55
6776 浏览 0 回复
MT6737/MT6735 mmap fail(out of memory)
CR里看到mmap fail(out of memory),单纯mobilelog是不够的,需根据如下步骤获取更多memory咨询.
1.开启malloc debug(请使用userdebug/eng load)
- adb shell "echo libc.debug.malloc.options = "backtrace=8 guard=8 leak_track" >> /data/local.prop"
- adb shell "echo libc.debug.malloc.program = camerahalserver(此处修改为需检查的process name) >> /data/local.prop"
- adb shell "chmod 644 /data/local.prop"
- adb reboot
复制代码 重启手机,验证是否开启malloc debug成功:
- cat /proc/pid/maps | grep malloc 检查是否有如下libc_malloc_debug相關的訊息,有表明malloc debug开启成功
- C:\Users\MTK11311>adb shell "cat /proc/1145/maps | grep malloc"
- 9e700000-9e780000 rw-p 00000000 00:00 0 [anon:libc_malloc]
- a7600000-a7680000 rw-p 00000000 00:00 0 [anon:libc_malloc]
- aa9c5000-aa9ec000 r-xp 00000000 fd:01 1607 /system/lib/libc_malloc_debug.s o
- aa9ed000-aa9ee000 r--p 00027000 fd:01 1607 /system/lib/libc_malloc_debug.s o
- aa9ee000-aa9ef000 rw-p 00028000 fd:01 1607 /system/lib/libc_malloc_debug.s o
- aaa00000-aab00000 rw-p 00000000 00:00 0 [anon:libc_malloc]
复制代码 2. 抓取mlog,录制系统memory信息
输入下方命令
- adb root
- adb shell cat /d/mlog_fmt > SYS_MEMORY_LOG
- adb shell cat /d/mlog >> SYS_MEMORY_LOG
复制代码 进行测试
测试结束 ctrl+c 停止录mlog,提供mlog记录
3.产生DB
复现问题后执行adb shell kill -11 pid(此处修改为需检查的process pid),产生db并提供db(包括相关symbols)
4. 提供复现过程mobile logs
|
|
手机微信同号:13682654092
|
|
|
|
|
登录或注册
|