进程老化模型使用说明文档
来源:飞书 wiki(obj_token: JPpKdFE50oEosSx0Qq3cVBTUnNh)
原文 22 张图片已全部下载并上传至 MinIO(blogimg bucket),正文图片为永久直链。
- 注意:电脑配置 ubuntu22.04 及以上版本
说明:用例测试场景同动态模型 2.0,测试一轮预计 6H(增量采集 mem_use 日志时间会久一些);
手机刷机后不能执行过 remount,不然 4.1 中的采集 Native 堆的分配调用栈会不全,但不影响内存总指标**!!!**
注意事项:
- 每次执行注意更新最新代码:
git pull - 老化执行完毕后,请确认一下清后台按钮是否点击成功,避免存在未适配导致数据不准;
- 如果在执行中遇到 tdk.commons.verify.VerifyException: 请绑定用户信息,即在浏览器访问的同志,请点击链接认证
手机测试环境预置
代码获取 & 主机环境预置
- 性能全场景测试工具用户使用指南,详见 1.2.1 获取项目代码;
- git 拉取后
- cd performance_full_test
- git checkout dev_wangbixue_dynamic_model_tdk(使用 tdk 实现 UI 自动化)
git 测试分支:dev_wangbixue_dynamic_model_tdk,暂不支持封装包
当前临时测试分支:dev_wangbixue_dynamic_model_aging(临时的,后续 dev_wangbixue_dynamic_model_tdk ui 执行稳定后会废弃)
pycharm 终端控制台执行:
pip install test-develop-kit -i https://pkgs.d.xiaomi.net/artifactory/api/pypi/pypi-gliese-virtual/simple --force-reinstall
pip install -r requirements.txt代码打开层级:


创建配置文件 & 执行
- 基于上面模版创建副本,根据实际情况修改配置文件中测试任务信息、测试机型信息,注意修改测试机设备序列号、辅助机设备序列号,选取待测测试用例;
- 打开分享 → 小米科技;


- 老化测试默认配置:

因质疑以及不需要 bugreport,故取消,更新时间 2026 年 4 月 17 日
- 将飞书链接粘贴到 run_test_config.yml,注意 : 后面有个空格

- 执行 main.py 文件;
额外数据获取说明(研发自定义选择)
老化场景 Native 堆日志采集 @钟万勇
这里讲述的是在上面的正常老化内存总指标采集结束后,如果发现 Native 堆占用高需要进一步拆解,可以使用下面的采集方式重新跑老化步骤进行 Native 堆的调用栈采集
Native 堆调用栈采集
🍞 这里说明的是在正常老化测试配置完后,为了使用 mem_use 工具抓取内存详细日志的增量配置。
在此增量配置前需要完成老化测试的基础配置,例如测试的设备,测试轮次,测试用例范围等等。
注意:每次一定要从最新的《性能自动化工具执行参数-进程老化-国内》链接创建自己的副本。
- (1)在执行序列页面的测试前只执行一次的操作配置项中勾选”执行 memuse 数据获取”和”获取 showmap 数据间隔自定义”两项。

- (2)在特定参数页面的模型特定参数配置中配置 mem_use 和 showmap 相关的参数(下图中红框中的参数都需要正确配置)。

红框中的参数配置直接参数说明即可。但是 mem_use 启动参数的配置需要注意一下:
mem_use_start_time:填写 mem_use 采集工具的启动时机。
init_rc:在开机阶段启动 mem_use 采集进程(内核当前不支持)。
before_test: 在老化测试用例执行之前启动 mem_use 采集进程。
init_rc_tmp:在开机阶段启动 mem_use 采集进程。(当前为规避内部 BUG 的模式,此模式需要使用特定 Patch 版本,请找 @印闯 协调 Patch 版本)
- (3)老化测试完成后,Native 内存分析需要 mem_use 采集的日志和 showmap 日志。
mem_use 内存日志存放路径为:{老化测试 main.py 所在目录}\test_data\进程老化\厂商\型号\设备序号\日期\mem_use

showmap 日志存放路径为:{老化测试 main.py 所在目录}\test_data\进程老化\厂商\型号\设备序号\日期\showmap_all

Native 堆数据解析
参考指导文档:内存工具系列-老化场景日志解析指导 中的【Native 内存日志解析指导】章节。
注意:不用关注 1.showmap 和 1.smaps 文件的差异。
老化场景 Java 堆日志采集 @钟万勇
Java 堆调用栈采集
🍞 这里说明的是在正常老化测试配置完后,为了抓取 Java 堆调用栈日志的增量配置。
注意:每次一定要从最新的《性能自动化工具执行参数-进程老化-国内》链接创建自己的副本。
- (1)在执行序列页面的测试前只执行一次的操作配置项中勾选”获取内存 dumpsys 间隔自定义”、“获取 showmap 数据间隔自定义”和”获取 hprof 数据间隔自定义”三项。

- (2)在特定参数页面的模型特定参数配置中配置 dumpsys、showmap 和 hprof 相关的参数(下图中红框中的参数都需要正确配置)。

红框中的参数配置直接参数说明即可。
- (3)老化测试完成后,Java 堆内存分析需要 gfx 日志,hprof 日志和 showmap 日志。
gfx 日志存放路径为:{老化测试 main.py 所在目录}\test_data\进程老化\厂商\型号\设备序号\日期\gfx_info
hprof 日志存放路径为:{老化测试 main.py 所在目录}\test_data\进程老化\厂商\型号\设备序号\日期\hprof_all
showmap 日志存放路径为:{老化测试 main.py 所在目录}\test_data\进程老化\厂商\型号\设备序号\日期\showmap_all

内存峰值信息解析
参考指导文档:内存工具系列-老化场景日志解析指导 中的【老化场景单独解析内存峰值信息】章节。
mmstat/mmperf 数据获取
- 配置方式:根据实际情况勾选

- 输出文件名:mmstat_out
- 获取方式参考 mmstat-直接回收耗时分布统计
gfx—info 数据获取

mts-showmap 数据获取(老化后静止 8min)
修改 setting 配置文件:

执行成功率
见 case_run_status.xlsx
查看 ui 失败原因详看上文 1.4 中的第 4 点
数据说明
任务结果结果文件夹(时间文件夹):

峰值内存结果见

解析方式读取 meminfo_all 中的时间文件
计算详情见:PDT工具使用说明文档—老化前后&异常拉起统计
老化后剩余内存
一键清理清后台,清除通知栏后静置 8min 后工具会自动执行,原理如下
mts --stress --no_minidump -p {输出路径} -mp {miui_standard 文件路径}老化后剩余内存结果见:
时间文件夹下 memdist 文件夹

驻留指标
驻留指标输出以及原始文件

问题解答(有问题先自查)
旧版本进程老化支持
修改 Message.ini,选择国内/国际应用
[Message]
device = FMR0223830055358
count = 99999
test_type = 1
run_time = 86400 # 24H, 默认 86400s
apps =
# weixin;douyin;kuaishou;zhuomian;qq;kuaishoujisu;bilibili;douyinjisu;jinritoutiao;tengxunshipin;taobao;pinduoduo;baidu;ucliulanqi;jinritoutiaojisu;aiqiyi;fanqiemianfeixiaoshuo;qqliulanqi;zhuangtailan;weibo;youkushipin;xiguashipin;zhifubao;qimaomianfeixiaoshuo
# YouTuBe;WhatsApp;Facebook;Instagram;MXPlayer;Lite;Messenger;Flipkart;WABusiness;PLAYit;AmazonShopping;Telegram;Snapchat;PrimeVideo;Dailyhunt;WPSOffice;miBrowser;Moj;Myntra;Twitter;CapCut;Zapya;Teams;StarMaker
配置文件,应用用 ; 划分,支持应用同旧版本进程老化工具;
