稳定性测试中频繁出现appfreeze问题分析报告
1 关键字 稳定性测试;appfreeze;内存回收 2 问题描述 设备版本:3.2Release 使用DevEco Testing工具进行系统遍历测试,在测试过程中出现大量appfreeze问题。 3 问题原因 3.1 正常机制 使用DevEco Testing工具进行系统遍历测试,不会出现大量appfreeze问题。 3.2 异常机制 使用DevEco Testing工具进行系统遍历测试,在测
1 关键字
稳定性测试;appfreeze;内存回收
2 问题描述
设备版本:3.2Release
使用DevEco Testing工具进行系统遍历测试,在测试过程中出现大量appfreeze问题。
3 问题原因
3.1 正常机制
使用DevEco Testing工具进行系统遍历测试,不会出现大量appfreeze问题。
3.2 异常机制
使用DevEco Testing工具进行系统遍历测试,在测试过程中出现大量appfreeze问题。
4 解决方案
调低系统内存回收阀值,避免频繁进行内存回收,占用较高cpu。
方法是修改foundation\resourceschedule\memmgr\profile\memmgr_config.xml 配置,然后重新编译。
修改前:
修改后
5 定位过程
通过对appfreeze文件进行分析,发现在出现appfreeze问题时,系统cpu占用较高,在cpu占用较高的情况下,系统相对卡顿,因此会出现大量appfreeze。通过观察cpu占用排行,发现其中有两个进程:kswapd0、zswapd0的cpu占用率高达10%以上,经过分析发现,这两个进程是专门进行内存回收的,由于8541E总共只有890M可用内存,设备在正常待机情况下,可用内存大概为500M,由于最开始的内存回收阀值为250M,进行稳定性压测过程中,大量进程会占用内存,总内存低于250M,就会进行内存回收,导致相关进程大量占用cpu,因此出现appfreeze。
6 知识分享
1.不同产品内存总量不同,需要对内存回收以及查杀进行合理的配置。
2.内存策略配置文件:foundation\resourceschedule\memmgr\profile\memmgr_config.xml。
更多推荐
所有评论(0)