开发者可使用DevEco Profiler的CPU场景调优分析,在应用或服务运行时,实时显示CPU使用率和线程的运行状态,了解指定时间段内的CPU资源消耗情况,查看系统的关键打点(例如图形系统打点、应用服务框架打点等),进行更具针对性的优化。
查看各CPU使用情况
-
创建CPU分析任务并录制相关数据,操作方法可参考[性能问题定位:深度录制],或在会话区选择Open File,导入历史数据。
CPU分析任务支持在录制前单击
指定要录制的泳道。 -
“CPU Core”泳道显示当前选择调优应用或服务的CPU的使用率。
可在“CPU Core”右侧的下拉列表中选择显示内容:
- Slice and Frequency:每个子泳道包含时间片和频率两部分,时间片显示占用该CPU核心的进程、线程。
- Usage and Frequency:每个子泳道包含CPU核心使用率和频率两部分。
框选主泳道,可对所选时间段内的CPU使用情况进行汇总统计,可查询多时间片的进程维度统计信息、线程维度状态统计信息、线程状态统计信息,以及所有时间片的数据统计信息。
-
将其展开,子泳道显示各CPU核心调度信息、各CPU核心频率信息以及各CPU核心使用率信息。
说明
将鼠标悬浮在某时间片上时,能够置灰非同进程时间片,通过此方法可以确定时间片的关联性。
-
指定时间片,查看统计信息。
-
单击某个运行状态的时间片,可查询这个时间片的基本运行信息及调度时延信息。
-
框选多个时间片,则可查询多时间片的进程维度统计信息以及所有时间片的数据统计信息。
-
开启"View Integrated Scheduling Chain"后,点击CPU时间片泳道的节点可以查看某一个CPU运行线程的完整唤醒调度链。
-
说明
- 在任务分析窗口,可以通过“Ctrl+鼠标滚轮”缩放时间轴,通过“Shift+鼠标滚轮”左右移动时间轴。或使用快捷键W/S放大或缩小时间轴,使用A键/D键可以左右移动时间轴。
- 将鼠标悬停在泳道任意位置,可以通过M键添加单点时间标签。
- 鼠标框选要关注的时间段,可以通过“Shift+M”添加时间段时间标签。
- 在任务分析窗口,可以通过“ctrl+, ”向前选中单点时间标签,通过“ctrl+. ”向后选中单点时间标签。
- 在任务分析窗口,可以通过“ctrl+[ ”向前选中时间段时间标签,通过“ctrl+]”向后选中时间段时间标签。
- CPU分析支持能耗分析
查询进程详情
进程泳道显示进程对各CPU核心的占用情况。展开进程泳道,显示进程下的线程列表以及线程的运行状态。
-
单击运行状态的时间片,显示线程在该片段的运行详情,包括起始时间、持续时长、运行状态、所属进程,支持跳转到上个或者下个线程运行状态,支持跳转到唤醒线程状态等。
-
框选Thread泳道中多个运行状态的时间片,可查看此时间段内的不同运行状态的线程的统计信息,包括总耗时时长、最大耗时、最小耗时、平均耗时、处于当前状态的线程数量以及线程中的中载重载数据统计。
-
框选应用进程Process主泳道,可查看此时间段内该进程下的线程并行度统计信息。
查看Trace详情
当存在Trace任务时,可在对应的线程泳道查看到当前线程已触发的Trace任务层叠图。选择待查询的Trace。
-
点选泳道中的Trace片段,可查看单个Trace详情,包括名称、起始时间、持续时长、深度等。
说明
- 如果用户对线程进行了自定义打点,在此处亦可查看到对应的User Trace打点信息。
- 从所在线程名称可分辨当前Trace的类型,系统Trace对应的线程名称为“线程名+线程号”,User Trace对应的线程名称为“打点任务名”。
-
框选多个Trace片段,可查看到Trace统计信息列表,包括Trace名称、此类Trace的总耗时、单个Trace的平均耗时、以及该时间段内该类Trace的触发次数等。
全局搜索指定CPU数据
DevEco Profiler为CPU分析数据提供了全局搜索能力。可选择的搜索类型如下:
- 首层搜索类型为“ALL”时,可输入任何字符串进行搜索。
- 首层搜索类型为“Unit”时,可输入任何子泳道进行搜索。
- 首层搜索类型为“CPU Core”时,可结合二层搜索类型(进程名、进程ID、线程名、线程ID),输入对应的目标进行搜索。
- 首层搜索类型为“Process”时,可输入任务名称进行搜索。
使用搜索框的<、>按键可依次显示返回结果的详细内容。
最后呢
很多开发朋友不知道需要学习那些鸿蒙技术?鸿蒙开发岗位需要掌握那些核心技术点?为此鸿蒙的开发学习必须要系统性的进行。
而网上有关鸿蒙的开发资料非常的少,假如你想学好鸿蒙的应用开发与系统底层开发。你可以参考这份资料,少走很多弯路,节省没必要的麻烦。由两位前阿里高级研发工程师联合打造的《鸿蒙NEXT星河版OpenHarmony开发文档》里面内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(Harmony NEXT)技术知识点
如果你是一名Android、Java、前端等等开发人员,想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。下面是鸿蒙开发的学习路线图。
针对鸿蒙成长路线打造的鸿蒙学习文档。话不多说,我们直接看详细鸿蒙(OpenHarmony )手册(共计1236页)与鸿蒙(OpenHarmony )开发入门视频,帮助大家在技术的道路上更进一步。
- 《鸿蒙 (OpenHarmony)开发学习视频》
- 《鸿蒙生态应用开发V2.0白皮书》
- 《鸿蒙 (OpenHarmony)开发基础到实战手册》
- OpenHarmony北向、南向开发环境搭建
- 《鸿蒙开发基础》
- 《鸿蒙开发进阶》
- 《鸿蒙开发实战》
总结
鸿蒙—作为国家主力推送的国产操作系统。部分的高校已经取消了安卓课程,从而开设鸿蒙课程;企业纷纷跟进启动了鸿蒙研发。
并且鸿蒙是完全具备无与伦比的机遇和潜力的;预计到年底将有 5,000 款的应用完成原生鸿蒙开发,未来将会支持 50 万款的应用。那么这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行! 自↓↓↓拿