RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

第二屆大會回顧第15期 | OpenHarmony性能調(diào)優(yōu)工具介紹

OpenHarmony TSC ? 來源:OpenHarmony TSC ? 作者:OpenHarmony TSC ? 2024-03-05 08:40 ? 次閱讀

演講嘉賓 | 劉 洋

回顧整理 | 廖 濤

排版校對 | 李萍萍

f2f95808-da88-11ee-b759-92fbcf53809c.png

嘉賓介紹

開發(fā)者工具分論壇

劉洋,江蘇潤和軟件股份有限公司副總裁,聚焦芯片設(shè)計(jì)及底層軟件、操作系統(tǒng)移植及核心算法的優(yōu)化與適配,潤和軟件芯片業(yè)務(wù)創(chuàng)立人,潤和芯片全棧解決方案平臺HiHope發(fā)起人,帶領(lǐng)公司進(jìn)軍國際芯片領(lǐng)域并成為ARM生態(tài)圈Linaro重要合作伙伴。OpenHarmony項(xiàng)目群工作委員會成員,OpenHarmony Dev-Board SIG(開發(fā)板興趣組)創(chuàng)立人及組長。

視頻回顧

打開嗶哩嗶哩APP,觀看更清晰視頻

正文內(nèi)容

性能調(diào)優(yōu)即調(diào)節(jié)操作系統(tǒng)、硬件以及應(yīng)用三者間的關(guān)系,實(shí)現(xiàn)整個系統(tǒng)的性能最大化,使其滿足現(xiàn)有的業(yè)務(wù)需求。性能優(yōu)化是軟件開發(fā)中最重要的工作之一,一個好的性能調(diào)優(yōu)工具可以提升開發(fā)者的開發(fā)質(zhì)量和效率。OpenHarmony上如何進(jìn)行性能調(diào)優(yōu),有哪些高效易用的性能調(diào)優(yōu)工具?潤和軟件副總裁劉洋在第二屆OpenHarmony技術(shù)大會上進(jìn)行了精彩分享。

f31f08fa-da88-11ee-b759-92fbcf53809c.png

01

Smartperf-Host

OpenHarmony性能調(diào)優(yōu)工具“Smartperf-Host”是一款深入挖掘數(shù)據(jù)、細(xì)粒度地展示數(shù)據(jù)的性能功耗調(diào)優(yōu)工具,為開發(fā)者提供了一套性能調(diào)優(yōu)平臺,支持了對CPU調(diào)度、頻點(diǎn)、進(jìn)程線程時間片、堆內(nèi)存、幀率等數(shù)據(jù)進(jìn)行采集和展示。該組件整體分為設(shè)備端和PC端兩部分,設(shè)備端和PC端基于gRPC通信框架進(jìn)行數(shù)據(jù)交互。其中,(1)設(shè)備端內(nèi)部分為應(yīng)用程序內(nèi)嵌組件、命令行工具、性能調(diào)優(yōu)服務(wù)、性能調(diào)優(yōu)插件集合、部分系統(tǒng)工具及部分系統(tǒng)內(nèi)核等模塊;(2)PC端以Smartperf-Host網(wǎng)站的形式進(jìn)行發(fā)布,內(nèi)部分為Trace Streamer數(shù)據(jù)解析、SQLite數(shù)據(jù)存儲、hdc設(shè)備管理、數(shù)據(jù)導(dǎo)入、UI繪制、數(shù)據(jù)分析等模塊。

f33ca946-da88-11ee-b759-92fbcf53809c.png

02

配置抓取

Smartperf-Host工具端側(cè)抓取所依賴的組件已原生預(yù)置在OpenHarmony系統(tǒng)中,在需要使用時,可通過網(wǎng)頁基于Hdc設(shè)備管理進(jìn)行連接,支持根據(jù)業(yè)務(wù)進(jìn)行配置設(shè)定,業(yè)務(wù)范圍包括CPU調(diào)優(yōu)、進(jìn)程線程調(diào)度分析調(diào)優(yōu)、內(nèi)存調(diào)優(yōu)等。完成設(shè)定后,可進(jìn)行在線直接抓取業(yè)務(wù)Trace,也可以選擇命令行進(jìn)行抓取。抓取結(jié)束后,即可通過網(wǎng)頁進(jìn)行業(yè)務(wù)分析解決問題。

f39fb25c-da88-11ee-b759-92fbcf53809c.png

03

界面展示

Smartperf-Host工具的菜單區(qū)域包括文件導(dǎo)入、配置、下載、Sql查詢、在線文檔等。各區(qū)域顯示信息如下:

時間軸區(qū)域以顏色深淺表示CPU的使用負(fù)載情況

泳道圖區(qū)域包括CPU區(qū)域和進(jìn)程線程區(qū)域:CPU區(qū)域包括負(fù)載展示、CPU時間片展示、頻點(diǎn)展示等信息;進(jìn)程線程區(qū)域包括進(jìn)程、線程、調(diào)用棧等信息

Tab顯示區(qū)域針對不同業(yè)務(wù)的框選或點(diǎn)選進(jìn)行數(shù)據(jù)展示

f3b6e710-da88-11ee-b759-92fbcf53809c.png

04

功能介紹

CPU調(diào)優(yōu):CPU調(diào)優(yōu)包括CPU運(yùn)行狀態(tài)、CPU頻率信息、CPU工作狀態(tài)信息、軟硬終端信息等性能功耗調(diào)優(yōu),展示方式為泳道圖,支持圖形用戶界面GUI操作、分析數(shù)據(jù)。

f3d1cb02-da88-11ee-b759-92fbcf53809c.png

圖中各區(qū)域詳情:(1)CPU運(yùn)行狀態(tài):顏色區(qū)分各進(jìn)程、點(diǎn)擊Slice顯示CPU使用詳情、支持CPU喚醒關(guān)系信息展示、支持CPU喚醒跳轉(zhuǎn)功能;(2)CPU頻點(diǎn):基于時間軸頻點(diǎn)變化展示、點(diǎn)擊查看當(dāng)前時間點(diǎn)頻點(diǎn)信息、框選查看選擇區(qū)域內(nèi)頻點(diǎn)信息;(3)CPU State:基于時間軸顯示State的變化,0”表示“工作中”,“1”、“2”、“3”表示“不在工作狀態(tài)”;點(diǎn)擊查看當(dāng)前時間點(diǎn)State信息、框選查看選擇區(qū)域內(nèi)State信息;(4)查看CPU統(tǒng)計(jì)信息:框選CPU Slice,以不同維度進(jìn)行分析;以線程維度分析、以進(jìn)程維度分析、CPU Usage排名、線程切換次數(shù)、各狀態(tài)詳情。

進(jìn)程和線程調(diào)優(yōu):

查看到系統(tǒng)級所有進(jìn)程級線程信息;

展開泳道圖,查看對應(yīng)進(jìn)程下線程信息,包括線程狀態(tài)及各線程的調(diào)用棧;

框選一定區(qū)域后,可查看到框選時間范圍內(nèi)的線程狀態(tài),各線程在CPU上的使用占比等信息;

點(diǎn)擊線程時間片,可查看當(dāng)前線程的狀態(tài),包括開始時間,持續(xù)時長,當(dāng)前運(yùn)行在哪個CPU上,優(yōu)先等級,所屬進(jìn)程,上線文關(guān)系,喚醒關(guān)系等;

點(diǎn)擊調(diào)用棧時間片信息,可查看當(dāng)前調(diào)用棧的名稱,開始時間,持續(xù)時間及調(diào)用棧深度。

f3e9e778-da88-11ee-b759-92fbcf53809c.pngf3fdc5cc-da88-11ee-b759-92fbcf53809c.png

內(nèi)存調(diào)優(yōu):

泳道圖展示malloc和mmap分配內(nèi)存總量及趨勢圖;

根據(jù)框選區(qū)間統(tǒng)計(jì)各類型內(nèi)存信息和占比;

根據(jù)事件類型計(jì)算其占比及size大小;

以火焰圖的形式展示調(diào)用棧信息;

展示內(nèi)存單次分配信息,包括調(diào)用的函數(shù)庫,方法等;

可根據(jù)業(yè)務(wù)要求標(biāo)記時間區(qū)間,計(jì)算區(qū)間內(nèi)數(shù)據(jù)變化信息。

f41bb9ce-da88-11ee-b759-92fbcf53809c.png

05

調(diào)優(yōu)案例介紹

CPU調(diào)度分析

場景描述:作為開發(fā)者,每次跟蹤C(jī)PU調(diào)度關(guān)系是一件非常痛苦且耗時的事情,期望有工具能快速查看CPU喚醒關(guān)系信息;

問題分析:通過喚醒關(guān)系樹一鍵顯示功能,幫助開發(fā)者快速直觀的顯示各時間點(diǎn)的CPU喚醒關(guān)系,減少了開發(fā)者通過常規(guī)文本查找的工作量,切實(shí)幫助到了開發(fā)者。

f438dc84-da88-11ee-b759-92fbcf53809c.png

內(nèi)存泄漏分析

場景描述:應(yīng)用出現(xiàn)內(nèi)存泄漏現(xiàn)象,需要定位內(nèi)存泄漏點(diǎn);

問題分析:通過問題Trace,查看內(nèi)存的占比,利用工具從內(nèi)存類型,到調(diào)用庫,到具體方法的調(diào)用,逐層分析,確認(rèn)內(nèi)存泄漏原因,通過改進(jìn)解決應(yīng)用問題。

f461fbe6-da88-11ee-b759-92fbcf53809c.png

卡頓丟幀分析

場景描述:進(jìn)入Launcher后界面出現(xiàn)卡頓現(xiàn)象;

問題分析:通過工具進(jìn)行分析,查看到Render Service在一段時間內(nèi)出現(xiàn)實(shí)際幀處理慢的現(xiàn)象,導(dǎo)致后續(xù)幀處理大范圍處理延時,導(dǎo)致整體的卡頓現(xiàn)象。

f47a978c-da88-11ee-b759-92fbcf53809c.png

播放性能問題分析

場景描述:OpenHarmony 3.2版本以后媒體播放的CPU變高了,需要定位問題原因,并優(yōu)化。

問題分析過程: (1)通過工具進(jìn)行分析,導(dǎo)致問題的直接原因在于GStreamer的“vqueue:src 1971”線程一直在占用CPU,需要針對該線程做進(jìn)一步的分析; f48eb0f0-da88-11ee-b759-92fbcf53809c.png

(2)通過對源代碼打點(diǎn)定位分析,發(fā)現(xiàn)GStreamer在邏輯上只負(fù)責(zé)送顯,沒有找到問題根因,需要再通過工具定位Trace內(nèi)部邏輯;

f4ada58c-da88-11ee-b759-92fbcf53809c.pngf4c171de-da88-11ee-b759-92fbcf53809c.png

(3)通過OpenHarmony Hiperf工具火焰圖功能抓取Trace,分析Trace定位問題,檢查發(fā)現(xiàn)是“GST_SYSTEM_CLOCK_ENTRY_WAIT_UNTIL”返回不符合預(yù)期,根因是內(nèi)核的futex調(diào)用走的是32位的接口,而3568默認(rèn)為64位內(nèi)核+32位的 UserSpace,從而導(dǎo)致該接口未按照實(shí)際給的超時等待,總是提前返回;

f4d0fa82-da88-11ee-b759-92fbcf53809c.png

(4)因此,解決該問題需要通過修改相關(guān)定義,使GSteamer直接走系統(tǒng)調(diào)用接口。

f4e370f4-da88-11ee-b759-92fbcf53809c.png

06

工具獲取

代碼路徑: https://gitee.com/openharmony/developtools_profiler/tree/master/host/smartperf
使用指導(dǎo): https://gitee.com/openharmony/developtools_smartperf_host/tree/master/ide/src/doc/md
編譯指導(dǎo): https://gitee.com/openharmony/developtools_profiler/tree/master/host/smartperf/ide
https://gitee.com/openharmony/developtools_profiler/tree/master/host/smartperf/trace_streamer

E N D

關(guān)注我們,獲取更多精彩。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3713

    瀏覽量

    16254
收藏 人收藏

    評論

    相關(guān)推薦

    谷東科技受邀參加2024第二屆元宇宙大會

    近日,2024第二屆元宇宙大會在??陂_幕。本屆大會以“賦能應(yīng)用場景,智見廣闊未來”為主題,匯聚了國內(nèi)外的百余位頂尖專家、學(xué)者和行業(yè)領(lǐng)袖,就AI賦能產(chǎn)業(yè)健康發(fā)展和文體旅行業(yè)數(shù)字化融合等議題展開討論,深入交流。谷東科技受邀參加,并獲
    的頭像 發(fā)表于 12-16 15:16 ?224次閱讀

    美光科技第二屆鏈博會精彩回顧

    此前,11月26-30日,歷時5天,第二屆中國國際供應(yīng)鏈促進(jìn)博覽會在北京圓滿落幕,一起來回顧美光科技在本次鏈博會的精彩時刻吧。
    的頭像 發(fā)表于 12-03 13:35 ?146次閱讀

    智芯公司亮相2024第二屆中國電氣工程大會

    近日,由智芯公司和北京郵電大學(xué)協(xié)同組織的2024第二屆中國電氣工程大會“先進(jìn)通信技術(shù)賦能新型電力系統(tǒng)”專題分會場在安徽合肥成功舉辦。
    的頭像 發(fā)表于 12-02 14:18 ?207次閱讀

    帝奧微第二屆代理商大會圓滿召開

    近日,“帝奧微2024年第二屆全國代理商大會” 在上海研發(fā)中心圓滿召開。本次大會聚焦“智領(lǐng)芯程,合作共贏”主題,齊聚 80+代理商代表,共同探討未來發(fā)展趨勢。
    的頭像 發(fā)表于 11-29 13:45 ?256次閱讀

    成都華微亮相第二屆腦機(jī)接口大會

    日前,第二屆腦機(jī)接口大會在武漢市成功舉辦。本次大會以“腦機(jī)互聯(lián)·共創(chuàng)未來”為主題,匯聚了來自全球各地的1500余位醫(yī)學(xué)科學(xué)、腦科學(xué)、腦機(jī)接口領(lǐng)域企業(yè)代表,共同探討腦機(jī)接口技術(shù)最新進(jìn)展、應(yīng)用前景以及產(chǎn)業(yè)發(fā)展趨勢。成都華微作為國內(nèi)相
    的頭像 發(fā)表于 11-27 11:06 ?291次閱讀

    知存科技邀您相約第二屆集成芯片和芯粒大會

    2024年11月8日-10日,以“集成芯片:邁進(jìn)大芯片時代”為主題的第二屆集成芯片和芯粒大會將在北京嘉里大酒店舉行。本次大會由基金委集成芯片前沿科學(xué)基礎(chǔ)重大研究計(jì)劃指導(dǎo)專家組指導(dǎo),由中
    的頭像 發(fā)表于 11-06 15:25 ?415次閱讀

    第二屆openEuler生態(tài)大會圓滿結(jié)束

    近日,第二屆openEuler生態(tài)大會(中國·湖南)成功舉辦。大會以“根植openEuler共建開源生態(tài)”為主題,旨在響應(yīng)國家開源產(chǎn)業(yè)發(fā)展戰(zhàn)略,推動建設(shè)以openEuler為根技術(shù)的開源操作系統(tǒng)在湖南創(chuàng)新發(fā)展,構(gòu)建openEul
    的頭像 發(fā)表于 10-31 16:02 ?264次閱讀

    50萬獎金池!開放原子大賽——第二屆OpenHarmony創(chuàng)新應(yīng)用挑戰(zhàn)賽正式啟動

    第二屆OpenHarmony創(chuàng)新應(yīng)用挑戰(zhàn)賽作為開放原子大賽旗下的重要賽項(xiàng),聚焦 OpenHarmony應(yīng)用開發(fā),致力提升開發(fā)者的動手實(shí)踐能力與開發(fā)創(chuàng)新應(yīng)用的能力。 賽項(xiàng)要求開發(fā)者
    發(fā)表于 10-24 15:40

    第二屆開放原子大賽火熱開啟

    第二屆開放原子大賽(簡稱“大賽”)是由開放原子開源基金會組織舉辦的開源技術(shù)領(lǐng)域?qū)I(yè)賽事,聚焦解決“真問題”,重點(diǎn)覆蓋基礎(chǔ)軟件、工業(yè)軟件、人工智能大模型等領(lǐng)域。
    的頭像 發(fā)表于 10-18 11:39 ?421次閱讀

    第二屆大會回顧25 | OpenHarmony上的Python設(shè)備應(yīng)用開發(fā)

    Python以其簡單、易學(xué)和功能強(qiáng)大而聞名,有著廣泛的用戶群體。采用Python開發(fā)有助于降低OpenHarmony的學(xué)習(xí)門檻。如何在OpenHarmony上用Python開發(fā)設(shè)備應(yīng)用,有哪些關(guān)鍵技術(shù)?電
    的頭像 發(fā)表于 08-27 11:53 ?681次閱讀
    <b class='flag-5'>第二屆</b><b class='flag-5'>大會</b><b class='flag-5'>回顧</b><b class='flag-5'>第</b>25<b class='flag-5'>期</b> | <b class='flag-5'>OpenHarmony</b>上的Python設(shè)備應(yīng)用開發(fā)

    第二屆大會回顧24 | 面向OpenHarmony的軟件工程研究:機(jī)遇與挑戰(zhàn)

    隨著萬物智聯(lián)時代的到來,OpenHarmony作為一個開源的智能終端設(shè)備操作系統(tǒng)的框架和平臺,將會遇到哪些機(jī)遇和挑戰(zhàn)?北京航空航天大學(xué)教授、OpenHarmony技術(shù)俱樂部主任黎立在第二屆Op
    的頭像 發(fā)表于 08-07 18:14 ?1026次閱讀
    <b class='flag-5'>第二屆</b><b class='flag-5'>大會</b><b class='flag-5'>回顧</b><b class='flag-5'>第</b>24<b class='flag-5'>期</b> | 面向<b class='flag-5'>OpenHarmony</b>的軟件工程研究:機(jī)遇與挑戰(zhàn)

    第二屆英飛凌汽車創(chuàng)新峰會IACE開幕在即

    第二屆英飛凌汽車創(chuàng)新峰會IACE開幕在即
    的頭像 發(fā)表于 05-20 11:42 ?533次閱讀
    <b class='flag-5'>第二屆</b>英飛凌汽車創(chuàng)新峰會IACE開幕在即

    報名開啟!第二屆OpenHarmony開發(fā)者大會2024重磅來襲!

    /jishu_2429449_1_1.html 預(yù)約直播: 第二屆OpenHarmony開發(fā)者大會主論壇 第二屆OpenHarmony
    發(fā)表于 05-14 15:23

    華工科技以智賦能,亮相第二屆船舶行業(yè)安全生產(chǎn)大會

    4月18-19日,第二屆船舶行業(yè)安全生產(chǎn)與應(yīng)急管理技術(shù)交流大會在山東煙臺舉行。華工科技智能制造業(yè)務(wù)板塊應(yīng)邀參加,并發(fā)表題為《船體結(jié)構(gòu)部件智能制造助力安全生產(chǎn)》的主題演講。
    的頭像 發(fā)表于 04-19 17:44 ?622次閱讀
    華工科技以智賦能,亮相<b class='flag-5'>第二屆</b>船舶行業(yè)安全生產(chǎn)<b class='flag-5'>大會</b>

    第二屆大會回顧6 | OpenHarmony游戲生態(tài)建設(shè)

    演講嘉賓 | 黃? ?然 回顧整理 | 廖? ?濤 排版校對 | 李萍萍 嘉賓介紹 ?OS內(nèi)核及視窗分論壇? 黃然 ,華為終端圖形圖像資深技術(shù)專家,華為終端游戲標(biāo)準(zhǔn)、工具和分析創(chuàng)始人,GPU
    的頭像 發(fā)表于 12-26 08:36 ?399次閱讀
    <b class='flag-5'>第二屆</b><b class='flag-5'>大會</b><b class='flag-5'>回顧</b><b class='flag-5'>第</b>6<b class='flag-5'>期</b> | <b class='flag-5'>OpenHarmony</b>游戲生態(tài)建設(shè)
    RM新时代网站-首页