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

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

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

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

OpenHarmony TSC ? 來(lái)源:OpenHarmony TSC ? 作者:OpenHarmony TSC ? 2024-03-05 08:40 ? 次閱讀

演講嘉賓 | 劉 洋

回顧整理 | 廖 濤

排版校對(duì) | 李萍萍

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

嘉賓介紹

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

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

視頻回顧

打開(kāi)嗶哩嗶哩APP,觀看更清晰視頻

正文內(nèi)容

性能調(diào)優(yōu)即調(diào)節(jié)操作系統(tǒng)、硬件以及應(yīng)用三者間的關(guān)系,實(shí)現(xiàn)整個(gè)系統(tǒng)的性能最大化,使其滿足現(xiàn)有的業(yè)務(wù)需求。性能優(yōu)化是軟件開(kāi)發(fā)中最重要的工作之一,一個(gè)好的性能調(diào)優(yōu)工具可以提升開(kāi)發(fā)者的開(kāi)發(fā)質(zhì)量和效率。OpenHarmony上如何進(jìn)行性能調(diào)優(yōu),有哪些高效易用的性能調(diào)優(yōu)工具?潤(rùn)和軟件副總裁劉洋在第二屆OpenHarmony技術(shù)大會(huì)上進(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)工具,為開(kāi)發(fā)者提供了一套性能調(diào)優(yōu)平臺(tái),支持了對(duì)CPU調(diào)度、頻點(diǎn)、進(jìn)程線程時(shí)間片、堆內(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)部分為T(mén)race Streamer數(shù)據(jù)解析、SQLite數(shù)據(jù)存儲(chǔ)、hdc設(shè)備管理、數(shù)據(jù)導(dǎo)入、UI繪制、數(shù)據(jù)分析等模塊。

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

02

配置抓取

Smartperf-Host工具端側(cè)抓取所依賴(lài)的組件已原生預(yù)置在OpenHarmony系統(tǒng)中,在需要使用時(shí),可通過(guò)網(wǎng)頁(yè)基于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é)束后,即可通過(guò)網(wǎng)頁(yè)進(jìn)行業(yè)務(wù)分析解決問(wèn)題。

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

03

界面展示

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

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

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

Tab顯示區(qū)域針對(duì)不同業(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),展示方式為泳道圖,支持圖形用戶(hù)界面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):基于時(shí)間軸頻點(diǎn)變化展示、點(diǎn)擊查看當(dāng)前時(shí)間點(diǎn)頻點(diǎn)信息、框選查看選擇區(qū)域內(nèi)頻點(diǎn)信息;(3)CPU State:基于時(shí)間軸顯示State的變化,0”表示“工作中”,“1”、“2”、“3”表示“不在工作狀態(tài)”;點(diǎn)擊查看當(dāng)前時(shí)間點(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í)所有進(jìn)程級(jí)線程信息;

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

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

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

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

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

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

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

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

根據(jù)事件類(lèi)型計(jì)算其占比及size大?。?/p>

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

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

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

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

05

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

CPU調(diào)度分析

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

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

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

內(nèi)存泄漏分析

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

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

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

卡頓丟幀分析

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

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

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

播放性能問(wèn)題分析

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

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

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

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

(3)通過(guò)OpenHarmony Hiperf工具火焰圖功能抓取Trace,分析Trace定位問(wèn)題,檢查發(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í)際給的超時(shí)等待,總是提前返回;

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

(4)因此,解決該問(wèn)題需要通過(guò)修改相關(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)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3641

    瀏覽量

    16064
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

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

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

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

    第二屆開(kāi)放原子大賽火熱開(kāi)啟

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

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

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

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

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

    第二屆英飛凌汽車(chē)創(chuàng)新峰會(huì)IACE開(kāi)幕在即

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

    報(bào)名開(kāi)啟!第二屆OpenHarmony開(kāi)發(fā)者大會(huì)2024重磅來(lái)襲!

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

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

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

    ?Wolfspeed榮獲2023第二屆電源行業(yè)配套品牌大獎(jiǎng)

    由世紀(jì)電源網(wǎng)主辦的 2023 第二屆電源行業(yè)配套品牌頒獎(jiǎng)典禮于 12 月 23 日在深圳圓滿落幕。
    的頭像 發(fā)表于 12-26 09:24 ?514次閱讀

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

    演講嘉賓 | 黃? ?然 回顧整理 | 廖? ?濤 排版校對(duì) | 李萍萍 嘉賓介紹 ?OS內(nèi)核及視窗分論壇? 黃然 ,華為終端圖形圖像資深技術(shù)專(zhuān)家,華為終端游戲標(biāo)準(zhǔn)、工具和分析創(chuàng)始人,GPU
    的頭像 發(fā)表于 12-26 08:36 ?366次閱讀
    <b class='flag-5'>第二屆</b><b class='flag-5'>大會(huì)</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è)

    近200人共聚第二屆華南工業(yè)特種線纜線纜大會(huì)!

    ,第二屆華南工業(yè)特種線纜大會(huì)(以下簡(jiǎn)稱(chēng)“線纜大會(huì)”)在深圳龍華順利舉行! ▲第二屆華南工業(yè)特種線纜大會(huì)現(xiàn)場(chǎng) 會(huì)議伊始,深圳市龍華區(qū)政協(xié)副主席
    的頭像 發(fā)表于 12-15 10:16 ?652次閱讀
    近200人共聚<b class='flag-5'>第二屆</b>華南工業(yè)特種線纜線纜<b class='flag-5'>大會(huì)</b>!

    第二屆大會(huì)回顧4 | 數(shù)據(jù)要素流通的安全挑戰(zhàn)與對(duì)策

    演講嘉賓 | 李鳳華 回顧整理 | 廖? ?濤 排版校對(duì) | 李萍萍 嘉賓介紹 ?OS安全分論壇? 李鳳華 ,OpenHarmony項(xiàng)目群技術(shù)指導(dǎo)委員會(huì)安全及機(jī)密計(jì)算TSG成員,中國(guó)科學(xué)院信息工程
    的頭像 發(fā)表于 12-14 15:20 ?473次閱讀
    <b class='flag-5'>第二屆</b><b class='flag-5'>大會(huì)</b><b class='flag-5'>回顧</b><b class='flag-5'>第</b>4<b class='flag-5'>期</b> | 數(shù)據(jù)要素流通的安全挑戰(zhàn)與對(duì)策

    第二屆大會(huì)回顧2 | 視覺(jué)大模型在OpenHarmony的端邊側(cè)應(yīng)用

    演講嘉賓 | 張兆生 回顧整理 | 廖? ?濤 排版校對(duì) | 李萍萍 嘉賓介紹 ?OS原生智能分論壇? 張兆生 ,OpenHarmony項(xiàng)目群技術(shù)指導(dǎo)委員會(huì)委員、中軟國(guó)際智能物聯(lián)網(wǎng)軍團(tuán)產(chǎn)品與研發(fā)管理
    的頭像 發(fā)表于 12-12 14:30 ?773次閱讀

    實(shí)地探展 | 別樣視角一站式感受第二屆OpenHarmony技術(shù)大會(huì)

    OpenHarmony技術(shù)大會(huì) 感受技術(shù)融入生活的美好瞬間! 原文標(biāo)題:實(shí)地探展 | 別樣視角一站式感受第二屆OpenHarmony技術(shù)大會(huì)
    的頭像 發(fā)表于 11-14 15:10 ?279次閱讀