当前位置: 首页 > news >正文

内存泄漏系列专题分析之三十三:cameraserver ION骤降成-1导致内存占用超标

【关注我,后续持续新增专题博文,谢谢!!!】

上一篇我们讲了​​​​​​​

        这一篇我们开始讲 

目录

一、背景

二、:后置照片默认拍照内存占用超标分析

    2.1:分析内存占用采集excel数据

    2.2 :查看第几次拍照超标

    2.3 :分析总内存超标原因

    2.4 :分析重复ION内存骤降异常原因

    2.5 :查看cameraserver ION内存是-1原因

    2.6 :ion计算结果

    2.7 :根因


一、背景

后置照片默认拍照内存占用操作步骤:

后置---照片模式---1s拍一次---拍照,每秒拍一次,连续拍摄50次,观察相机内存数据,取50次数据的峰值,取50次数据的峰值

二、:后置照片默认拍照内存占用超标分析

    2.1:分析内存占用采集excel数据

测试次数测试时间相机(com.camera)相机服务(cameraserver)高通相机服务(android.hardware.camera.provider@2.4-service_64)重复内存相机总内存
Native Heap(pss+swap)Dalvik Heap(pss+swap)ActivitiesGraphics/GPUION/DMACodePSS TotalPss-CodeNative Heap(pss+swap)Graphics/GPUION/DMACodePss TotalPss-CodeNative Heap(pss+swap)ION/DMACodePss TotalPss-Code
02025-05-20 04:57:4612296813340157976366340965671470945052748400166440100012641316412262640879904571493464562893073328801599765
12025-05-20 04:57:48155047161481208280366340937832175581237754852016644089332383914906266652879904571493503812932323328801671580
22025-05-20 04:57:49127739193681144472618116831711147983162749880356408813722376142392775041093176484893525583040697128161844614
32025-05-20 04:57:51158235153041184692642012918591904379857851240356408797722337143602943241032544435013629203194197128161893840
42025-05-20 04:57:53120727147121144472642012861441059411979752920356408796922506145372979121032544434653665153230507128161813108
52025-05-20 04:57:54132967138361144804734532826041137253112153720448928794522563146182977081146552434653663113228468978561934753
62025-05-20 04:57:561370991240413022207345328263239700831437655000448928794522690147452996001146552434653683513248868978562220203
72025-05-20 04:57:588375412835115330091957275580177089101509560806339687941227961485530661214040084240137463333223212679362264128
82025-05-20 04:57:5915690213955115178091957275624248699173075567606339687941228641492330610814040084240137412933172812679362335302
92025-05-20 04:58:02123191176971301424101209273969256040182071570807264887929228141488530681614428644239737482233242514529762382142
102025-05-20 04:58:0593069132821151684101209269032176895107863580807264887929228501492130976414475004114537646133531614529762309308
112025-05-20 04:58:0593509121021267924101209269056292340223284580407264887929228461491730974414475004114537644133529614529762424729
122025-05-20 04:58:081263691800311448041104612647409228127541587208190087809227651495631038014824444106137661333555216380162259705
142025-05-20 04:58:09136309224511157836112311663134228168165034585608375127517224131489631046415378124012937567033554116750242449665
132025-05-20 04:58:0999693196841151716110902063154182740119586585608375127517224131489631048015431484012937568633555716750242395493
152025-05-20 04:58:13142683128381302760128965258865365417306552580809300327501223321483131273216156044014137804833790718600642741019
162025-05-20 04:58:141214911989011516401382172601058864028535584409300327449222931484431244816471324013337775833762518600642587961
172025-05-20 04:58:15121803206821158060138217260089207211147122596809300327449224071495831062816501884013337595133581818600642707895
182025-05-20 04:58:1814529921847115164014746925569010840852718594409300327309212461393731082016102684013337597433584118600642660554
192025-05-20 04:58:19165653179331259032138217255742342518286776580809300327309211101380131019214285884013337534633521318600642619700
202025-05-20 04:58:20158349133691307928140067655742379536323794580409300327309211071379831025614493724013337541833528518785682677571
212025-05-20 04:58:25128147191651151876147469256394199822143428601609300327253211801392731018416119004013337533233519918600642752892
222025-05-20 04:58:26160151153891222464147469249318291108241790596809300327253211301387731025214101564013337539933526618600642642451
232025-05-20 04:58:26162607207691271272147469249318348417299099602009300327253211821392931008014101564013337522833509518600642699641
242025-05-20 04:58:301400172393711516401474692492109720347993598809300327157200261286931044814101563564137107633543518600642443119
252025-05-20 04:58:30123485151171270940147469249334301614252280593609300327157199741281731050416455003564137113233549118600642882878
262025-05-20 04:58:31170965143371301964147469249334379326329992593609300327157199741281731019614470203564137082433518318600642761802
272025-05-20 04:58:36175267161411202332153020446050282653236603592409300327129199081277931374814312763368137228333860218785682687786
282025-05-20 04:58:361463111757311449841530204459708767941709590809300327129198931276431248014312763368137101533733418785682491529
292025-05-20 04:58:36134999193291222388147962045894265329219435595209349607129199381280931017216520603368136876733508618699202850752
302025-05-20 04:58:401298832091711449841479620467107501828308594809349607129199341280531244416520603368137103933735818699202662709
312025-05-20 04:58:401225191504111449841572140466786152614848590809349607129198931276431054016313483368136927133559018699202719216
322025-05-20 04:58:41113153163231304240147962046642323196276554596809349607129199531282431032014128043368136907933539818699202669690
332025-05-20 04:58:46167984178141302732147962047174378250331076596409349607089199131282431042414529323374136934533560418699202765098
342025-05-20 04:58:46170248125901302332147962047174264122216948596009349607089199081281931060414529323374136952533578418699202651145
352025-05-20 04:58:47152132155981152180147962047546209972162426598809349607089199361284731270414529323374137165733791618699202599155
362025-05-20 04:58:50169636220061301936147962047558383825336267598809349607089199341284531076814529323374136972033597918699202771069
372025-05-20 04:58:511591961425011452841479620475589821750659598409349607089199321284331062414529323374136957633583518699202485315
382025-05-20 04:58:5318159221934130223614796204852639685534832960160-170891996312874311316161519633741370284336543817683800147
392025-05-20 04:58:5515903620886115189615721404861411265564041604409349607089199911290231118416520603374137016333642218699202792047
402025-05-20 04:58:5692174156771301936147962047706300096252390599609349607089199421285331098816520603374136996733622618699202886723
412025-05-20 04:58:58146545196271301936157214047706247808200102608809349607089200341294531846016536923374137743934369818699202936151
422025-05-20 04:59:00120945176671301936148392047714331097283383604809349607089199931290431121616048763374137019533645418699202875119
MAX2025-05-20 04:59:1718159221934130223614796204852639685534832960160-170891996312874311316161519633741370284336543817683800147
MB2025-05-20 04:59:17177.335937521.419921880.000976563295.15234381444.94140647.38867188387.5537109340.16503915.8750-0.0009765636.92285156319.4951171912.57226563304.01953131577.33984432.95019531361.6054688328.655273479.85156253711.081055

    2.2 :查看第几次拍照超标

从excel数据看,MAX这一行 3800147 KB = 3711.081055 M,超标。而3800147 KB是第38次拍照超标。

    2.3 :分析总内存超标原因

从excel整体数据可以发现,ION重复内存从1869920KB骤降到81768KB,一下降低了1788152KB = 1746.2421875 M。

    2.4 :分析重复ION内存骤降异常原因

我们查看第38次:app进程,cameraserver和camx hal三个进程的ION内存情况,可以发现,cameraserver这一次的ION居然是-1.

    2.5 :查看cameraserver ION内存是-1原因

分析dump_ion.txt:发现脚本第38次并没有去dump cameraserver ION内存,而第37和39次均dump成功

    行 64436: 2025-05-20 04:58:50 37次ion结果:
    行 65913: Binder:camerase (PID 2291) size: 934960 kB
    行 66246: 2025-05-20 04:58:52 38次ion结果:
    行 67315: 2025-05-20 04:58:55 39次ion结果:
    行 68820: Binder:camerase (PID 2291) size: 934960 kB
    行 69153: 2025-05-20 04:58:55 40次ion结果:
    行 70648: Binder:camerase (PID 2291) size: 934960 kB

    2.6 :ion计算结果

dump_ion_calculate.txt:导致ION内存去重时,第38次并没有拿到ION内存,默认取值为-1。

    行 56305: line.contains(cameraserver)==== Binder:camerase (PID 2291) size: 934960 kB
    行 56628:  37次ion计算规则如下:
    行 57942: line.contains(cameraserver)==== Binder:camerase (PID 2291) size: 934960 kB
    行 58265:  38次ion计算规则如下:
    行 59086:  39次ion计算规则如下:
    行 60426: line.contains(cameraserver)==== Binder:camerase (PID 2291) size: 934960 kB

ion计算结果:{'com.camera': {'DMA': 1479620}, 'cameraserver': {'DMA': -1}, 'vendor.qti.camera.provider-service_64': {'DMA': 1615196},  'Repeat Memory': 81768}
calculate ion over

    2.7 :根因

因此是内存占用脚本执行过程中出现问题,没有dump 第38次的ION,导致重复ION内存骤降,从而导致内存占用超标。excel展示曲线也可以清晰看到这个骤变过程。最终需要工具脚本分析并完善脚本。

【关注我,后续持续新增专题博文,谢谢!!!】

下一篇讲解

http://www.dtcms.com/a/329625.html

相关文章:

  • 《Power Voronoi图的数学原理》
  • Nginx学习笔记(六)—— Nginx反向代理
  • CSS保持元素宽高比,固定元素宽高比
  • Socket 套接字的学习--UDP
  • 设计秒杀系统从哪些方面考虑
  • 服务器安全检测和防御技术
  • 符合实时AUTOSAR OS的形式化设计和验证方法
  • WPF的c1FlexGrid的动态列隐藏和动态列名设置
  • AI企业培训系统构建指南
  • 在 Conda 环境下编译 C++ 程序时报错:version `GLIBCXX_3.4.30‘ not found
  • 数据结构:队列(Queue)与循环队列(Circular Queue)
  • setsockopt函数详解
  • 海洋通信系统技术文档(1)
  • HTTP 缓存机制全面解析
  • 体制内程序员证书扫盲(中国内地)
  • 可搜索的 HTML 版本 Emoji 图标大全,可以直接打开网页使用,每个图标可以点击复制,方便使用
  • 【unity实战】在unity实现一套可扩展的Model-View-Data (MVD) 系统架构设计
  • 常用 MaxKB 函数库(HTTP、MYSQL)
  • Qt中实现OpenGL应用的编程框架
  • [系统架构]系统架构基础知识(一)
  • 面向局部遮挡场景的目标检测系统设计与实现
  • 打造专属 React 脚手架:从 0 到 1 开发 CLI 工具
  • 万字详解C++11列表初始化与移动语义
  • Mysql——》提取JSON对象和数组
  • 微信小程序使用高德api实现导航至目的地
  • 【完整源码+数据集+部署教程】武器目标检测系统源码和数据集:改进yolo11-AggregatedAtt
  • Ansible 实操笔记:Playbook 与变量管理
  • 智驾系统架构解析
  • 深入解析Go设计模式:命令模式实战
  • 在verdi中查看波形中的glitch