HarmonyOS NEXT 调优工具 Smart Perf Host 高效使用指南

OpenHarmony实战开发-性能测试工具SmartPerf Editor使用指导 SmartPerf Editor是一款PC端桌面应用,通过监测、采集应用运行时FPS、CPU、GPU、Memory、Battery、Network等性能数据,帮助开发者了解应用的性能状况。SmartPerf Editor还集成了DrawingDoc功能,可录制Render Service绘制指令,回放并生成不同图形库文件。通过逐帧逐绘制指令回放,来识别是否存在冗余绘制、是否可以优化绘制指令的数量,从而提升页面绘制性能。本文首先介绍DrawingDoc录制回放原理,然后结合场景示例阐述DrawingDoc在性 阅读详情

在软件开发的过程中,很多开发者都经常会遇到一些性能问题,比如应用启动慢、点击滑动卡顿、应用后台被杀等,想要解决这些问题势必需要收集大量系统数据。而在收集数据的过程中,开发者则需要在各种工具和命令之间来回切换,不但容易错过问题发生时间点,数据收集完如何能将信息有效结合分析又将是一件复杂的工作。基于开发痛点,HarmonyOS NEXT 通过构建 Smart Perf 工具全家桶,为开发和测试人员提供了测试、调优、分析一站式服务,接下来让我们一起来看 Smart Perf 如何解决开发性能问题。

在 Smart Perf 工具全家桶中,Smart Perf Host 主要提供性能调优能力,目前可提供调优数据一键抓取,系统调度分析,CPU 使用情况展示,调用栈展示,Native Memory 跟踪和分析,文件系统跟踪,Trace 抓取和分析和高阶使用方式(用户可以通过自定义 SQL 细粒度查询性能调优数据)等能力。想要了解 Smart Perf Host 如何在大量数据中进行性能问题快速分析,首先可通过典型场景分析模版来进行深入了解。

一、Smart Perf Host 典型场景分析模板

● 目前已知 Smart Perf Host 场景分析模版提供整机 CPU 调度分析模板以及内存调优场景分析,在 CPU 调度分析模板中,可做到自动分析 CPU 调度数据,并协助发现 CPU 调度瓶颈。

具体操作过程首先开发者可选择左侧导航栏中的“模板抓取(Record Template)”,然后连接设备,选择调度分析模板,开始抓取操作;待抓取完成后,就可以通过导航栏中的 Scheduling Analysis 自动进行数据分析和显示。调度分析模板可以按照 CPU 粒度和线程粒度进行数据分析和展示。通过 CPU 粒度分析,开发人员可用来查看即 CPU 资源在被哪些任务使用。相对应可快速分析以下场景:CPU 大中小核利用情况是否达到调优人员预期

● CPU 大中小核运行频点是否达到调优人员预期

● 谁在占用特定 CPU 的特定频点

● 大核高频的任务是否可以往中小核迁移,以降低能耗

● 功耗分析:Cpu idle 值越大,睡眠越深,功耗越低

● 各个 CPU 除了在执行任务,还在处理哪些中断

而线程粒度分析,线程总运行时长,则可以用来查看特定任务在使用哪些 CPU 资源,可快速分析如下场景:

● 占用大、中、小核和总 CPU 的 TOP 线程是否为预期线程

● 关键线程(比如 UI,RS 等)大中小核和频点的使用情况是否为预期调度策略

若测试人员关注 CPU 和线程运行细节,则可以从泳道图继续查看。其中 CPU 泳道图提供细节数据如下:当前调用 CPU 的线程和对应的进程情况

● 线程唤醒关系链

● 查看 CPU 频点供给情况

● 点选一个线程显示详情页(进程名、线程名、起始时间、时长、优先级、线程状态)

● 框选 CPU 泳道可以查看 CPU 频点和基于线程的 CPU 运行分布,即框选的这段时间内线程在每个 CPU 上的运行时长和频点使用时长

另 Hiperf 是 HarmonyOS NEXT 所提供的能力,可用来周期访问 cpu 的运行栈,导出调用栈,不受系统打点影响。目前 Smart Perf Host 支持能力如下:支持软硬件 events 抓取,如:cpu-cycles、instructions 和 page-faults 等

● 页面内抓取 hiperf 数据

● 框选后可查看调用栈

● 支持条件过滤功能

● 可查看火焰图

基于以上,我们通过一个实际案例来学习如何通过上述内容进行问题分析:

案例如下图所示:

如图我们可看到问题在于某个应用启动时间比较长,首先通过通过整机调度分析模板能够发现 tb 线程单次运行时间长达 79.31ms,且通过 CPU 泳道确认该线程运行在中核,2.0GHz,因此 CPU 资源供给没有问题;接下来我们展开应用进程泳道图,在线程泳道图中可定位出运行时间较长的阶段(但无法看到深层的函数,需使用 hiperf 进一步分析)。

我们直接通过抓取 Hiperf 做进一步分析。首先基于上面已经发现的运行时间长阶段,通过 M 键进行锁定,然后在 Hiperf 泳道图中选中对应位置,最后使用火焰图定位阻塞函数,能够发现一个 jsNapi 执行时间太长。

二、基于 Smart Perf Host 进行内存跟踪和分析

通过 Smart Perf Host 开发及测试人员可查看内存的分配和释放等情况,了解内存详细信息,并支持火焰图查看。如下图所示,在“Native Memory”中可显示内存详情,比如内存地址,内存申请和释放的时间点,内存大小和单次栈信息等。在不同特定场景中,Native Memory 可发挥追踪和分析、内存申请/释放分析、调用栈本地符号化以及支持内存抓取条件可配作用。目前 Smart Perf Host 工具代码全部开源,想要获取和部署 Smart Perf Host 工具,可参考以下路径进行编译部署。

截止到目前,Smart Perf Host 能力规划中已支持近 30 个开发能力,25 个能力正处于开发测试阶段,能力覆盖性能调优模板、工具系统能力、系统依赖以及用户体验提升。开发者还可通过代码染色系统进行代码覆盖率报告生成,执行上不但能沿用原有自测使用习惯无需更换环境,还可支持共享代码下载环境无需单独部署服务。从开发到调测工具都全面升级的 HarmonyOS NEXT 正助力 HarmonyOS 应用生态正在开启一个新的阶段,构建繁荣的应用生态,还需更多开发者的加入。

OpenHarmony实战开发-SmartPerf性能工具使用指导 SmartPerf是一款基于系统开发的性能功耗测试工具,操作简单易用。工具可以检测性能、功耗相关指标,包括FPS、CPU、GPU、RAM、Temp等,通过量化的指标项了解应用性能状况。在开发过程中,使用的可能是有屏或无屏设备,对此SmartPerf提供了两种方式:分别是SmartPerf-Device和SmartPerf-Daemon。SmartPerf-Device适用于有屏设备,支持可视化操作。测试时是通过悬浮窗的开始和暂停来实时展示性能指标数据,保存后可生成数据报告,在报告中可分析各指标数据详情。Sm 阅读详情

相关推荐

SmartPerf 编译部署,openHarmony性能测试工具

smartPerf鸿蒙系统的性能测试工具搭建过程

m0_49071631的博客 2527

Smartperf_Host工具网站下载及部署【OHOS】

bigge_L的博客 1017

OpenHarmony实战开发-使用SmartPerf-Host分析应用性能

SmartPerf-Host是一款深入挖掘数据、细粒度展示数据的性能功耗调优工具,可采集CPU调度、频点、进程线程时间片、堆内存、帧率等数据,采集的数据通过泳道图清晰地呈现给开发者,同时通过GUI以可视化的方式进行分析。该工具当前为开发者提供了五个分析模板,分别是帧率分析、CPU/线程调度分析、应用启动分析、TaskPool分析、动效分析。关于工具使用的更多内容可查看SmartPerf-Host调优工具使用指导。

m0_70749039的博客 1597

鸿蒙南向(OpenHarmony)应用性能优化-SmartPerf-Host工具的使用

本文提供一些性能分析示例,介绍如何使用帧率分析和应用启动分析两个模板采集数据、分析数据,从而发现性能优化点。

adaedwa187545的博客 1258

【鸿蒙性能优化篇】—— 性能测试工具SmartPerf Editor

SmartPerf Editor是一款PC端桌面应用,通过监测、采集应用运行时FPS、CPU、GPU、Memory、Battery、Network等性能数据,帮助开发者了解应用的性能状况。SmartPerf Editor还集成了DrawingDoc功能,可录制Render Service绘制指令,回放并生成不同图形库文件。通过逐帧逐绘制指令回放,来识别是否存在冗余绘制、是否可以优化绘制指令的数量,从而提升页面绘制性能。

shangkangba的博客 1054

鸿蒙开发进阶(HarmonyOS)SmartPerf Device性能工具使用指南

在开发过程中,会使用到有屏或无屏设备,对此SmartPerf Device提供了两种方式:分别是Device-hap端和Device-daemon端。Device-hap端适用于有屏设备,支持可视化操作。测试时是通过悬浮窗的开始和暂停来实时展示性能指标数据,保存后可生成数据报告,在报告中可分析各指标数据详情。Device-daemon端支持shell命令行方式,同时适用于有屏和无屏设备。

wea22984984的博客 1976

鸿蒙5.0开发【SmartPerf Device性能工具使用指导】命令行工具

SmartPerf Device是一款基于系统开发的性能功耗测试工具,操作简单易用。该工具可以监测性能、功耗相关指标,包括FPS、CPU、GPU、RAM、Temp等,通过量化的指标项了解应用、整机性能状况。Device-daemon端支持shell命令行方式,同时适用于有屏和无屏设备。

鸿蒙的技术博客 1388

【鸿蒙实战开发】本地部署、SmartPerf 编译部署指导文档

有很多小伙伴不知道该从哪里开始学习鸿蒙开发技术?也不知道鸿蒙开发的知识点重点掌握的又有哪些?自学时频繁踩坑,导致浪费大量时间。结果还是一知半解。所以有一份实用的鸿蒙(HarmonyOS NEXT)全栈开发资料用来跟着学习是非常有必要的。获取完整版高清学习资料,请点击→鸿蒙全栈开发学习资料(安全链接,请放心点击)

HarmonyOS_001的博客 849

Smartperf-Host

Smartperf-Host是一款深入挖掘数据、细粒度地展示数据的性能功耗调优工具,旨在为开发者提供一套性能调优平台,支持对CPU调度、频点、进程线程时间片、堆内存、帧率等数据进行采集和展示,展示方式为泳道图,支持GUI(图形用户界面)操作进行详细数据分析。

ccf19881030的专栏 277

鸿蒙(HarmonyOS)性能优化实战-性能测试工具SmartPerf Editor

SmartPerf Editor是一款PC端桌面应用,通过监测、采集应用运行时FPS、CPU、GPU、Memory、Battery、Network等性能数据,帮助开发者了解应用的性能状况。SmartPerf Editor还集成了DrawingDoc功能,可录制Render Service绘制指令,回放并生成不同图形库文件。通过逐帧逐绘制指令回放,来识别是否存在冗余绘制、是否可以优化绘制指令的数量,从而提升页面绘制性能。

CTrup的博客 1234

【信息科学与工程学】【产品体系】计算机科学与自动化——第一百八十九篇 操作系统内核(微内核/宏内核)函数与算法02

宏内核(Linux)更多典型内核函数/算法,从编号271开始,覆盖中断管理、热插拔、PCI、ACPI、固件、崩溃转储、kexec、休眠、watchdog、RTC、hwmon、LED、backlight、input子系统、remoteproc等更多领域。编号类型领域内核类型内核中的函数/算法/模块/模组模块的调用关系模块/函数/算法逐步推理思考的数学表达式及参数列表及参数数值设计模块的C/C++/其他代码关联知识271中断管理中断描述符宏内核 / (中断子系统核心)驱动申请中断 → → → 分配irq_

weixin_49199313的博客 109

OpenHarmony使用HiSmartPerf性能分析

有时我们需要分析某个场景的CPU性能,排查性能瓶颈。通过添加LOG打印统计耗时比较麻烦, hiperf命令又记不住。这个时候HiSmartPerf的优势就体现出来。通过UI界面,一键便可抓取各个线程的泳道图,选中泳道图的某个点即可显示耗时信息,鼠标放大选中点即可看到调用堆栈信息。下面我们以播放场景为例,查看播放场景的性能瓶颈点。这里我用的是Windows系统。工具下载点击上面链接,下载HiSmartPerf, 例如这里我下载的是HiSmartPerf_20250109版本。

qq_33606438的博客 1811

宇树机器人G1二次开发:导览、起始点、目的地与完整示例

通过宇树G1 SDK的导航接口,开发者可以高效地实现机器人的自主移动功能。连接 -> 设置目标点 -> 发送命令 -> 监控状态。本文提供的完整示例涵盖了从环境搭建到代码实现的全部步骤,并解释了起始点、目的地等关键概念。开发者可以在此基础上,结合多目标点巡逻、动态避障(需高级配置)等功能,构建更复杂的机器人应用。建议读者先在小范围、熟悉的平坦环境中测试,成功后再逐步扩展到更复杂的场景。

m0_52645558的博客 747

鸿蒙API14开发【使用SmartPerf-Host分析应用性能】性能工具

SmartPerf-Host是一款深入挖掘数据、细粒度展示数据的性能功耗调优工具,可采集CPU调度、频点、进程线程时间片、堆内存、帧率等数据,采集的数据通过泳道图清晰地呈现给开发者,同时通过GUI以可视化的方式进行分析。该工具当前为开发者提供了五个分析模板,分别是帧率分析、CPU/线程调度分析、应用启动分析、TaskPool分析、动效分析。

bbq的博客 842

基于卷积神经网络的人脸表情识别(JAFFE篇)

1.win10/11操作系统2.python3.7以上3.tensorflow2.4以上版本(2.0其它版本需要微调)4.内存12G,显卡4G以上(没有独显倒是也能跑...)(这个可爱的妹子就是JAFFE数据集中的图片)

小林同学的计算机学习 5913

QCC308X/518X/309X加LDAC解码

QCC308X/518X/309X加LDAC解码。

Alex_886的博客 6609

OpenHarmony教程指南-性能示例

本示例集成了条件渲染、动态加载以及HiDumper等场景来介绍如何提升应用性能。鸿蒙开发学习是一个系统化的过程,从基础知识的学习到实战技能的锤炼,再到对前沿技术的探索,每一环节都至关重要。希望这份教程资料能帮助您快速入门并在鸿蒙开发之路上步步攀升,成就一番事业。让我们一起乘风破浪,拥抱鸿蒙生态的广阔未来!,才是我创造的动力。

m0_70749039的博客 1097

DaVinci Configurator BswM模块配置

BswM是AUTOSAR(Automotive Open System Architecture)系统架构中的模块之一,它是基础软件模块(BSW)之一。BswM全称为Basic Software Module Manager(基础软件模块管理器),它负责管理和协调其他BSW模块的行为和交互,以实现整个系统的功能。BswM可以被看作是一个状态机,通过监控系统的状态和事件触发,来控制其他BSW模块的运行状态和互相配合,以达到整个系统的预期行为。

qq_59258431的博客 3945

SmartPerf_Host抓trace方法【OHOS】

bigge_L的博客 353

Android软键盘系统深度解析:架构、原理与实现

Android软键盘系统深度解析:架构与实现原理 本文系统剖析了Android软键盘的核心工作机制。作为系统级输入服务,软键盘具有双重属性:既是可安装的独立应用,又深度集成于系统框架中。文章详细解读了软键盘的系统架构,包括其与InputMethodManagerService(IMMS)和WindowManagerService(WMS)的交互机制,以及通过InputConnection实现的跨进程通信流程。同时分析了输入法窗口的特殊管理策略、布局调整模式,并深入探讨了输入预测引擎的实现原理,包括词典加载、

保持专注,保持热爱 114

RK3588 , 基于mpp 解码 Jpeg To RGB

本文介绍了在RK3588开发板上使用Rockchip MPP(Media Process Platform)硬件加速接口将JPEG图像解码为RGB格式的完整流程。主要包括三个关键步骤:1) 读取JPEG文件数据;2) 配置MPP解码器,包括初始化上下文、设置RGB888输出格式和解码参数;3) 执行解码任务并将结果保存为图像文件。通过硬件加速,该方法能高效完成JPEG到RGB的转换,适用于嵌入式多媒体处理场景。

J。 1210

(0基础)鸿蒙HarmonyOS-NEXT开发入门—1

随着HarmonyOS与HarmonyOS开发的爆火,越来越多的人想参与到HarmonyOS的学习中,以求分一杯羹。若此处输入的是引用的变量名,则不需要加入 ' ' ,直接引用变量名即可输出变量中的赋值。4.1,理论上来说,第一个 ' ' 中输入什么都可以,但为了方便开发,建议在这里输入'消息说明'若要直接打印字符串则在字符串两边加上 ' ' ,例如第4、5行代码,输出结果分别是。如图所示,只有let(变量)才能改变赋值,常量不能更改赋值。只能变量更改赋值,常量更改赋值会报错!

zhaoguoguo111的博客 2396

分子动力学仿真软件:LAMMPS_(16).应用案例分析

通过以上四个应用案例,我们详细介绍了如何使用LAMMPS进行不同系统的分子动力学仿真。从简单的液体水仿真到复杂的纳米管仿真,每个案例都包含了详细的步骤说明和代码示例。读者可以通过这些示例实际操作并验证结果,从而更好地理解LAMMPS的功能和使用方法。希望这些案例能够为读者在分子动力学仿真领域的研究和应用提供帮助。

kkchenjj的博客 837

鸿蒙5.0&next开发【应用功耗检测与分析】性能

[应用功耗体验]是指用户在使用应用时对应用所消耗电量(即功耗)的感受和反馈。高功耗不仅会导致设备发热、续航时间缩短,还可能引发用户的电量焦虑,从而影响用户体验、降低用户的使用意愿。综合业界的共识与实际用户的体验而言,[应用功耗关键指标]通常包括显示耗电量、CPU耗电量、GPU耗电量以及最终的总耗电量等。本文主要围绕功耗体验指标的CPU耗电量进行检测与分析,帮助开发者降低应用运行时的总耗电量。

zhenggaoxiao232的博客 2297

在ParaView中编程实现涡量可视化

综上所述,本文介绍了在ParaView中使用编程方式实现涡量可视化的方法,并提供了相应的Python代码示例。通过灵活运用ParaView的编程接口,我们可以根据特定需求定制复杂的数据可视化流程,进一步深入了解和分析流体的旋转行为。ParaView是一款强大的开源数据可视化工具,它提供了丰富的功能和灵活的编程接口,使用户能够定制数据可视化流程。你可以根据需要自定义颜色映射范围和颜色,上述代码中的RGBPoints列表中包含了两个点,分别对应涡量值为0和10时的颜色。在实际使用过程中,你需要替换代码中的。

ByteProwl的博客 1435

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

纯鸿蒙!华为HarmonyOS NEXT不再兼容安卓应用,无法安装Apk文件

华为HarmonyOS NEXT不再兼容安卓应用,无法安装Apk文件; HarmonyOS NEXT基于OpenHarmony开发,可以说是真正的鸿蒙OS,从数码博主“WHYLAB”上手体验来看,HarmonyOS NEXT不再兼容安卓应用,如果打开安卓APK文件,会提示“无法打开此文件”。余承东表示,HarmonyOS持续深耕软件根技术,通过具备天生流畅、极致能效、纯净安全三大特征的“鸿蒙内核”和能效比提升的“方舟图形引擎”,鸿蒙底座已经基本完善,有超过1亿行代码,2万多个API。

weitao_666的博客 1万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

上一篇: 如何在 HarmonyOS 对数据库进行备份,恢复与加密
下一篇: 基于 HarmonyOS 的 HTTPS 请求过程开发示例(ArkTS)
「已注销」
博客等级 码龄5年 1045粉丝 297原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值