内存泄漏系列专题分析之三十三: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) | Activities | Graphics/GPU | ION/DMA | Code | PSS Total | Pss-Code | Native Heap(pss+swap) | Graphics/GPU | ION/DMA | Code | Pss Total | Pss-Code | Native Heap(pss+swap) | ION/DMA | Code | Pss Total | Pss-Code | ||||
0 | 2025-05-20 04:57:46 | 122968 | 13340 | 1 | 57976 | 366340 | 96567 | 147094 | 50527 | 4840 | 0 | 166440 | 10001 | 26413 | 16412 | 262640 | 879904 | 57149 | 346456 | 289307 | 332880 | 1599765 |
1 | 2025-05-20 04:57:48 | 155047 | 16148 | 1 | 208280 | 366340 | 93783 | 217558 | 123775 | 4852 | 0 | 166440 | 8933 | 23839 | 14906 | 266652 | 879904 | 57149 | 350381 | 293232 | 332880 | 1671580 |
2 | 2025-05-20 04:57:49 | 127739 | 19368 | 1 | 144472 | 618116 | 83171 | 114798 | 31627 | 4988 | 0 | 356408 | 8137 | 22376 | 14239 | 277504 | 1093176 | 48489 | 352558 | 304069 | 712816 | 1844614 |
3 | 2025-05-20 04:57:51 | 158235 | 15304 | 1 | 184692 | 642012 | 91859 | 190437 | 98578 | 5124 | 0 | 356408 | 7977 | 22337 | 14360 | 294324 | 1032544 | 43501 | 362920 | 319419 | 712816 | 1893840 |
4 | 2025-05-20 04:57:53 | 120727 | 14712 | 1 | 144472 | 642012 | 86144 | 105941 | 19797 | 5292 | 0 | 356408 | 7969 | 22506 | 14537 | 297912 | 1032544 | 43465 | 366515 | 323050 | 712816 | 1813108 |
5 | 2025-05-20 04:57:54 | 132967 | 13836 | 1 | 144804 | 734532 | 82604 | 113725 | 31121 | 5372 | 0 | 448928 | 7945 | 22563 | 14618 | 297708 | 1146552 | 43465 | 366311 | 322846 | 897856 | 1934753 |
6 | 2025-05-20 04:57:56 | 137099 | 12404 | 1 | 302220 | 734532 | 82632 | 397008 | 314376 | 5500 | 0 | 448928 | 7945 | 22690 | 14745 | 299600 | 1146552 | 43465 | 368351 | 324886 | 897856 | 2220203 |
7 | 2025-05-20 04:57:58 | 83754 | 12835 | 1 | 153300 | 919572 | 75580 | 177089 | 101509 | 5608 | 0 | 633968 | 7941 | 22796 | 14855 | 306612 | 1404008 | 42401 | 374633 | 332232 | 1267936 | 2264128 |
8 | 2025-05-20 04:57:59 | 156902 | 13955 | 1 | 151780 | 919572 | 75624 | 248699 | 173075 | 5676 | 0 | 633968 | 7941 | 22864 | 14923 | 306108 | 1404008 | 42401 | 374129 | 331728 | 1267936 | 2335302 |
9 | 2025-05-20 04:58:02 | 123191 | 17697 | 1 | 301424 | 1012092 | 73969 | 256040 | 182071 | 5708 | 0 | 726488 | 7929 | 22814 | 14885 | 306816 | 1442864 | 42397 | 374822 | 332425 | 1452976 | 2382142 |
10 | 2025-05-20 04:58:05 | 93069 | 13282 | 1 | 151684 | 1012092 | 69032 | 176895 | 107863 | 5808 | 0 | 726488 | 7929 | 22850 | 14921 | 309764 | 1447500 | 41145 | 376461 | 335316 | 1452976 | 2309308 |
11 | 2025-05-20 04:58:05 | 93509 | 12102 | 1 | 267924 | 1012092 | 69056 | 292340 | 223284 | 5804 | 0 | 726488 | 7929 | 22846 | 14917 | 309744 | 1447500 | 41145 | 376441 | 335296 | 1452976 | 2424729 |
12 | 2025-05-20 04:58:08 | 126369 | 18003 | 1 | 144804 | 1104612 | 64740 | 92281 | 27541 | 5872 | 0 | 819008 | 7809 | 22765 | 14956 | 310380 | 1482444 | 41061 | 376613 | 335552 | 1638016 | 2259705 |
14 | 2025-05-20 04:58:09 | 136309 | 22451 | 1 | 157836 | 1123116 | 63134 | 228168 | 165034 | 5856 | 0 | 837512 | 7517 | 22413 | 14896 | 310464 | 1537812 | 40129 | 375670 | 335541 | 1675024 | 2449665 |
13 | 2025-05-20 04:58:09 | 99693 | 19684 | 1 | 151716 | 1109020 | 63154 | 182740 | 119586 | 5856 | 0 | 837512 | 7517 | 22413 | 14896 | 310480 | 1543148 | 40129 | 375686 | 335557 | 1675024 | 2395493 |
15 | 2025-05-20 04:58:13 | 142683 | 12838 | 1 | 302760 | 1289652 | 58865 | 365417 | 306552 | 5808 | 0 | 930032 | 7501 | 22332 | 14831 | 312732 | 1615604 | 40141 | 378048 | 337907 | 1860064 | 2741019 |
16 | 2025-05-20 04:58:14 | 121491 | 19890 | 1 | 151640 | 1382172 | 60105 | 88640 | 28535 | 5844 | 0 | 930032 | 7449 | 22293 | 14844 | 312448 | 1647132 | 40133 | 377758 | 337625 | 1860064 | 2587961 |
17 | 2025-05-20 04:58:15 | 121803 | 20682 | 1 | 158060 | 1382172 | 60089 | 207211 | 147122 | 5968 | 0 | 930032 | 7449 | 22407 | 14958 | 310628 | 1650188 | 40133 | 375951 | 335818 | 1860064 | 2707895 |
18 | 2025-05-20 04:58:18 | 145299 | 21847 | 1 | 151640 | 1474692 | 55690 | 108408 | 52718 | 5944 | 0 | 930032 | 7309 | 21246 | 13937 | 310820 | 1610268 | 40133 | 375974 | 335841 | 1860064 | 2660554 |
19 | 2025-05-20 04:58:19 | 165653 | 17933 | 1 | 259032 | 1382172 | 55742 | 342518 | 286776 | 5808 | 0 | 930032 | 7309 | 21110 | 13801 | 310192 | 1428588 | 40133 | 375346 | 335213 | 1860064 | 2619700 |
20 | 2025-05-20 04:58:20 | 158349 | 13369 | 1 | 307928 | 1400676 | 55742 | 379536 | 323794 | 5804 | 0 | 930032 | 7309 | 21107 | 13798 | 310256 | 1449372 | 40133 | 375418 | 335285 | 1878568 | 2677571 |
21 | 2025-05-20 04:58:25 | 128147 | 19165 | 1 | 151876 | 1474692 | 56394 | 199822 | 143428 | 6016 | 0 | 930032 | 7253 | 21180 | 13927 | 310184 | 1611900 | 40133 | 375332 | 335199 | 1860064 | 2752892 |
22 | 2025-05-20 04:58:26 | 160151 | 15389 | 1 | 222464 | 1474692 | 49318 | 291108 | 241790 | 5968 | 0 | 930032 | 7253 | 21130 | 13877 | 310252 | 1410156 | 40133 | 375399 | 335266 | 1860064 | 2642451 |
23 | 2025-05-20 04:58:26 | 162607 | 20769 | 1 | 271272 | 1474692 | 49318 | 348417 | 299099 | 6020 | 0 | 930032 | 7253 | 21182 | 13929 | 310080 | 1410156 | 40133 | 375228 | 335095 | 1860064 | 2699641 |
24 | 2025-05-20 04:58:30 | 140017 | 23937 | 1 | 151640 | 1474692 | 49210 | 97203 | 47993 | 5988 | 0 | 930032 | 7157 | 20026 | 12869 | 310448 | 1410156 | 35641 | 371076 | 335435 | 1860064 | 2443119 |
25 | 2025-05-20 04:58:30 | 123485 | 15117 | 1 | 270940 | 1474692 | 49334 | 301614 | 252280 | 5936 | 0 | 930032 | 7157 | 19974 | 12817 | 310504 | 1645500 | 35641 | 371132 | 335491 | 1860064 | 2882878 |
26 | 2025-05-20 04:58:31 | 170965 | 14337 | 1 | 301964 | 1474692 | 49334 | 379326 | 329992 | 5936 | 0 | 930032 | 7157 | 19974 | 12817 | 310196 | 1447020 | 35641 | 370824 | 335183 | 1860064 | 2761802 |
27 | 2025-05-20 04:58:36 | 175267 | 16141 | 1 | 202332 | 1530204 | 46050 | 282653 | 236603 | 5924 | 0 | 930032 | 7129 | 19908 | 12779 | 313748 | 1431276 | 33681 | 372283 | 338602 | 1878568 | 2687786 |
28 | 2025-05-20 04:58:36 | 146311 | 17573 | 1 | 144984 | 1530204 | 45970 | 87679 | 41709 | 5908 | 0 | 930032 | 7129 | 19893 | 12764 | 312480 | 1431276 | 33681 | 371015 | 337334 | 1878568 | 2491529 |
29 | 2025-05-20 04:58:36 | 134999 | 19329 | 1 | 222388 | 1479620 | 45894 | 265329 | 219435 | 5952 | 0 | 934960 | 7129 | 19938 | 12809 | 310172 | 1652060 | 33681 | 368767 | 335086 | 1869920 | 2850752 |
30 | 2025-05-20 04:58:40 | 129883 | 20917 | 1 | 144984 | 1479620 | 46710 | 75018 | 28308 | 5948 | 0 | 934960 | 7129 | 19934 | 12805 | 312444 | 1652060 | 33681 | 371039 | 337358 | 1869920 | 2662709 |
31 | 2025-05-20 04:58:40 | 122519 | 15041 | 1 | 144984 | 1572140 | 46678 | 61526 | 14848 | 5908 | 0 | 934960 | 7129 | 19893 | 12764 | 310540 | 1631348 | 33681 | 369271 | 335590 | 1869920 | 2719216 |
32 | 2025-05-20 04:58:41 | 113153 | 16323 | 1 | 304240 | 1479620 | 46642 | 323196 | 276554 | 5968 | 0 | 934960 | 7129 | 19953 | 12824 | 310320 | 1412804 | 33681 | 369079 | 335398 | 1869920 | 2669690 |
33 | 2025-05-20 04:58:46 | 167984 | 17814 | 1 | 302732 | 1479620 | 47174 | 378250 | 331076 | 5964 | 0 | 934960 | 7089 | 19913 | 12824 | 310424 | 1452932 | 33741 | 369345 | 335604 | 1869920 | 2765098 |
34 | 2025-05-20 04:58:46 | 170248 | 12590 | 1 | 302332 | 1479620 | 47174 | 264122 | 216948 | 5960 | 0 | 934960 | 7089 | 19908 | 12819 | 310604 | 1452932 | 33741 | 369525 | 335784 | 1869920 | 2651145 |
35 | 2025-05-20 04:58:47 | 152132 | 15598 | 1 | 152180 | 1479620 | 47546 | 209972 | 162426 | 5988 | 0 | 934960 | 7089 | 19936 | 12847 | 312704 | 1452932 | 33741 | 371657 | 337916 | 1869920 | 2599155 |
36 | 2025-05-20 04:58:50 | 169636 | 22006 | 1 | 301936 | 1479620 | 47558 | 383825 | 336267 | 5988 | 0 | 934960 | 7089 | 19934 | 12845 | 310768 | 1452932 | 33741 | 369720 | 335979 | 1869920 | 2771069 |
37 | 2025-05-20 04:58:51 | 159196 | 14250 | 1 | 145284 | 1479620 | 47558 | 98217 | 50659 | 5984 | 0 | 934960 | 7089 | 19932 | 12843 | 310624 | 1452932 | 33741 | 369576 | 335835 | 1869920 | 2485315 |
38 | 2025-05-20 04:58:53 | 181592 | 21934 | 1 | 302236 | 1479620 | 48526 | 396855 | 348329 | 6016 | 0 | -1 | 7089 | 19963 | 12874 | 311316 | 1615196 | 33741 | 370284 | 336543 | 81768 | 3800147 |
39 | 2025-05-20 04:58:55 | 159036 | 20886 | 1 | 151896 | 1572140 | 48614 | 112655 | 64041 | 6044 | 0 | 934960 | 7089 | 19991 | 12902 | 311184 | 1652060 | 33741 | 370163 | 336422 | 1869920 | 2792047 |
40 | 2025-05-20 04:58:56 | 92174 | 15677 | 1 | 301936 | 1479620 | 47706 | 300096 | 252390 | 5996 | 0 | 934960 | 7089 | 19942 | 12853 | 310988 | 1652060 | 33741 | 369967 | 336226 | 1869920 | 2886723 |
41 | 2025-05-20 04:58:58 | 146545 | 19627 | 1 | 301936 | 1572140 | 47706 | 247808 | 200102 | 6088 | 0 | 934960 | 7089 | 20034 | 12945 | 318460 | 1653692 | 33741 | 377439 | 343698 | 1869920 | 2936151 |
42 | 2025-05-20 04:59:00 | 120945 | 17667 | 1 | 301936 | 1483920 | 47714 | 331097 | 283383 | 6048 | 0 | 934960 | 7089 | 19993 | 12904 | 311216 | 1604876 | 33741 | 370195 | 336454 | 1869920 | 2875119 |
MAX | 2025-05-20 04:59:17 | 181592 | 21934 | 1 | 302236 | 1479620 | 48526 | 396855 | 348329 | 6016 | 0 | -1 | 7089 | 19963 | 12874 | 311316 | 1615196 | 33741 | 370284 | 336543 | 81768 | 3800147 |
MB | 2025-05-20 04:59:17 | 177.3359375 | 21.41992188 | 0.000976563 | 295.1523438 | 1444.941406 | 47.38867188 | 387.5537109 | 340.1650391 | 5.875 | 0 | -0.000976563 | 6.922851563 | 19.49511719 | 12.57226563 | 304.0195313 | 1577.339844 | 32.95019531 | 361.6054688 | 328.6552734 | 79.8515625 | 3711.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 kBion计算结果:{'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展示曲线也可以清晰看到这个骤变过程。最终需要工具脚本分析并完善脚本。
【关注我,后续持续新增专题博文,谢谢!!!】
下一篇讲解: