分析trace 知识点分析的很全面

在这里插入图片描述Total time breakdown:依据关键tag拆分,比如binderapplication/activitystart/doframe
找出时间差异大tag的cpu status :Running/Runnable/Sleeping/Uninterruptible sleep
Running:SW-diff-check 或 cpu能力(大小核或频率)
Runnable:schedule 或 cpuloading重(列出top 5 thread)
Sleeping:wakeup event
Memory:kswapd 排名top 3
BlockIO:IO performance

Activity Launcher Flow Chart

在这里插入图片描述

Activity Resume Flow Chart

在这里插入图片描述

1、Running time

  • 关注tag launch flow不同->google版本升级/UI不同

  • 列出diff时间段对比/测试机各个function level差别
    在这里插入图片描述

  • APK版本是否一致

  • 测试机和对比机软件大版本是否一致

  • DriverOnly是否输对比机

  • Check table,检查diff

在这里插入图片描述
在这里插入图片描述

2、Runnable

  • Top thread做优化,如果是apk,可以卸载再测试
    在这里插入图片描述

3、Sleeping

唤醒源查找
第一步:Bindapplication sleeping时间长-> wait for binder reply
在这里插入图片描述
第二步:Check wakeup event

扫描二维码关注公众号,回复: 14976845 查看本文章

Binder reply sleeping -> wakeup from 2566 (gservice 后台app升级)
在这里插入图片描述

4、Uninterruptible sleep - memory

  • Uninterruptible sleep caused by do_page_fault à low memory
    在这里插入图片描述

  • Memory parameter check point
    在这里插入图片描述

  • Lowmemory check point
    在这里插入图片描述

  • Memory tuning
    在这里插入图片描述

  • 进程优先级与oom adj关系
    在这里插入图片描述

5、Uninterruptble sleep -blockio

  • Uninterruptible sleep caused by waiton_page_bit_killable à IO
    在这里插入图片描述
  • Io parameter check point
    在这里插入图片描述
  • Perlyzer Block TAG:trace format
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/wzx311/article/details/130323934