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
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
文章来源:https://www.toymoban.com/news/detail-424196.html -
进程优先级与oom adj关系
文章来源地址https://www.toymoban.com/news/detail-424196.html
5、Uninterruptble sleep -blockio
- Uninterruptible sleep caused by waiton_page_bit_killable à IO
- Io parameter check point
- Perlyzer Block TAG:trace format
到了这里,关于分析trace 知识点分析的很全面的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!