91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

揭秘ARM架構(gòu)對Linux調(diào)測特性的支持

Linux閱碼場 ? 來源:Linux閱碼場 ? 作者:Linux閱碼場 ? 2022-08-22 14:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、淺談手機(jī)性能的可觀測性

1.概述

手機(jī)上的性能指標(biāo)是綜合的變化,由上圖可以看的出來手機(jī)更關(guān)注人跟機(jī)器的交互這,云系統(tǒng)則是比較關(guān)注機(jī)器跟機(jī)器的交互。

手機(jī)系統(tǒng)比較特別的地方在于資源都是比較受限,例如: 電量,性能…因此針對用戶體驗(yàn)是需要特別庖丁解牛來建立指標(biāo)。

指標(biāo)(METRIC) -業(yè)界有特定的體驗(yàn)度量模型,目標(biāo)是發(fā)現(xiàn)產(chǎn)品和服務(wù)中的問題及理解使用者的行為和偏好。

性能體驗(yàn)度量是多層次,多個(gè)維度的,只用一項(xiàng)指標(biāo)去表征的所有性能特征是遠(yuǎn)遠(yuǎn)不夠的。

c5bf8638-21c9-11ed-ba43-dac502259ad0.png

以上是幾個(gè)個(gè)常用指標(biāo),這些指標(biāo)常常是互相搭配的例如Andrid近年常用的GSM+HEART。度量模型圍繞用戶使用的旅程,識別關(guān)鍵體驗(yàn)路徑(KEP),為不同接觸點(diǎn)分解出不同的性能指標(biāo)。

2.性能追蹤

c5d29066-21c9-11ed-ba43-dac502259ad0.png

實(shí)際上如何構(gòu)建手機(jī)可觀測性,我們都會采取分層次拆解,由上圖可以看的出來藉助于Android/Linux系統(tǒng)的生態(tài)系已經(jīng)有不少工具可以用于追蹤系統(tǒng)的信息。

性能追蹤在手機(jī)裝置面臨的挑戰(zhàn):

1、低開銷:不會降低用戶的體驗(yàn),因?yàn)槭謾C(jī)資源是受限的所以如何有性的采集會是很大的考驗(yàn)。

2、不可接觸:開發(fā)人員無法實(shí)時(shí)獲取使用者的故障第一現(xiàn)場信息,用戶很多操作行為都是不容易在現(xiàn),因此識別關(guān)鍵體驗(yàn)路徑會是開發(fā)的過程之一。

3、偶發(fā)性:低概率,不易復(fù)現(xiàn)(Heisen berg Bug),對于第三方應(yīng)用跟系統(tǒng)交互或是用戶行為常常有偶發(fā)性不易在現(xiàn)的問題需要準(zhǔn)確的追蹤機(jī)制輔助找到原因。

4、不可預(yù)見:用已知模式分析未知問題。

講師介紹了一些Android上常見的工具

?Systrace : 用于將設(shè)備活動保存到跟蹤檔的Android 工具。

?cpu_profile : 在android平臺實(shí)現(xiàn)周期性采集調(diào)用棧。

?simpleperf : simpleperf是Anroid平臺的一套性能分析工具,功能大致與linux perf相似。

?nanotrace : 通過在虛擬機(jī)(包括解析器和編譯程序)中插樁,獲取從APK到framework層的執(zhí)行路徑的調(diào)用鏈和函數(shù)執(zhí)行時(shí)長。

?objtrace : 動態(tài)跟蹤函數(shù)參數(shù)值。

?blktrace : blktrace 結(jié)合btt可以統(tǒng)計(jì)一個(gè)IO是在調(diào)度隊(duì)列停留的時(shí)間長,還是在硬件上消耗的時(shí)間長。

?Hitrace : 對于跨設(shè)備/進(jìn)程/線程的業(yè)務(wù)流程處理,通過相同的traceid在整個(gè)業(yè)務(wù)流程中傳遞,將調(diào)用層次、各種輸出信息關(guān)聯(lián)和展現(xiàn)。

3.可觀測性之Logging

c5dd7d64-21c9-11ed-ba43-dac502259ad0.png

上圖由上而下的拆解展示日志的重要性,首先我們需要了解用戶行為,關(guān)注用戶體驗(yàn)并記錄對應(yīng)的錯誤日志,當(dāng)時(shí)系統(tǒng)狀態(tài)與硬件狀態(tài)用于改善用戶體驗(yàn)。

手機(jī)系統(tǒng)的日志系統(tǒng)時(shí)常需要整合第三方應(yīng)用,因?yàn)榈谌綉?yīng)用不開源,管理日志上常常沒有足夠權(quán)限,還有手機(jī)儲存大小受限因此最終的日志系統(tǒng)方案都是朝可以匯整日志并更精準(zhǔn)建立模型為目標(biāo)。

總結(jié)以上幾點(diǎn)用戶體驗(yàn)是感性的,不單單只是數(shù)字因此講者認(rèn)科技應(yīng)該是有溫度的。

Q&A

Q : 是否有AI優(yōu)化思路?

A: 目前還在努力,有嘗試用AI分析用戶體驗(yàn)不過效果不明顯。目前比較多還是在做基礎(chǔ)體驗(yàn)度量。

Q : 跑分跟用戶體驗(yàn)怎么看?

A: 跑分不能直接當(dāng)用戶體驗(yàn)偵率,累積布局偏移可參考。

Q: nanotrace可否第三方插莊?

A: yes

Q : 是否能找到喚醒源?

A:可打開irq,ipi中斷事件可以看到換醒源。

二、揭秘ARM架構(gòu)對Linux調(diào)測特性的支持

講師簡介:張健, 現(xiàn)就職于北京大簡技術(shù)有限公司, 14年ARM架構(gòu)和操作系統(tǒng)一線研發(fā)經(jīng)驗(yàn). 在北京, 柏林, 拉斯維加斯, 多地發(fā)表技術(shù)演講。

首先,本次分享從調(diào)試視角、性能影響兩個(gè)角度出發(fā),對調(diào)試特性進(jìn)行了宏觀的分類。

1.調(diào)試類型

調(diào)試包含兩個(gè)維度的特性:調(diào)試視角維度與性能影響維度。

1.調(diào)試視角維度

從調(diào)試視角維度出發(fā),調(diào)試分為external debug與self-hosted debug,前者包括openocd、kgdb、ftrace、perf等內(nèi)核調(diào)試基礎(chǔ)設(shè)施,后者則是通過JTAG、FTOI等體系結(jié)構(gòu)相關(guān)調(diào)試接口連接芯片,同時(shí)用調(diào)試軟件控制硬件調(diào)試器進(jìn)行調(diào)試。

c5ee9414-21c9-11ed-ba43-dac502259ad0.png

其中,紅色所示技術(shù)為硬件調(diào)試接口,藍(lán)色所示技術(shù)為相關(guān)軟件調(diào)試工具。軟硬件調(diào)試工具共享CPU和內(nèi)核所提供的調(diào)試能力。

2.性能影響維度

從性能影響維度出發(fā),調(diào)試分為影響(多為停止)當(dāng)前CPU狀態(tài)的侵入式調(diào)試和不影響CPU運(yùn)行的非侵入式調(diào)試。前者多會暫停當(dāng)前CPU的執(zhí)行流,同時(shí)通過相關(guān)機(jī)制(比如,AR cross trigger)告知其他核當(dāng)前被調(diào)試的狀態(tài),從而影響系統(tǒng)狀態(tài)。

這種調(diào)試類型雖然帶來了強(qiáng)大的調(diào)試能力,但是在芯片和內(nèi)核的設(shè)計(jì)開發(fā)時(shí)需要考慮CPU調(diào)試過程中與其他外圍設(shè)備的關(guān)系,因?yàn)镃PU的調(diào)試狀態(tài)不會影響到其他硬件,一致性等問題是該方法的經(jīng)典挑戰(zhàn);對于非侵入式的調(diào)試類型,它不會直接停止當(dāng)前的CPU運(yùn)行狀態(tài),更多對系統(tǒng)起到監(jiān)控跟蹤的作用。

c5ff74d2-21c9-11ed-ba43-dac502259ad0.png

接下來,分享從斷點(diǎn)、Trace、PMU三類調(diào)試手段出發(fā)講述ARM架構(gòu)的系統(tǒng)調(diào)試特性。

2.侵入式調(diào)試手段之?dāng)帱c(diǎn)

斷點(diǎn)調(diào)試是侵入式的,單純依賴用戶態(tài)基礎(chǔ)設(shè)施或頂層應(yīng)用無法達(dá)到啟停系統(tǒng)的能力要求。因此,斷點(diǎn)調(diào)試的設(shè)計(jì)需要硬件和操作系統(tǒng)的支持,即斷點(diǎn)調(diào)試要有陷入高特權(quán)級別環(huán)境的能力。

用戶通過配置編譯選項(xiàng)獲得指定平臺下的gdb調(diào)試器,將被追蹤程序當(dāng)作參數(shù)傳遞gdb調(diào)試器,gdb調(diào)試器fork出被調(diào)試程序子進(jìn)程,兩者通過PTRACE_XXX請求建立連接。

對于軟件斷點(diǎn),gdb將通過符號表等信息在開發(fā)者指定的位置填入調(diào)試指令(x86為INT3,ARM為BRK/BRKT);對于硬件斷點(diǎn),gdb會將指定位置的地址寫入到調(diào)試寄存器中。

當(dāng)程序運(yùn)行至軟件斷點(diǎn)或硬件斷點(diǎn)處,子進(jìn)程會觸發(fā)相應(yīng)異常,待異常信號被gdb捕獲后,通過比對記錄的斷點(diǎn)信息來判斷是否是調(diào)試原因所觸發(fā)的異常,如此來實(shí)現(xiàn)gdb調(diào)試進(jìn)程的啟停能力。

c60d1ea2-21c9-11ed-ba43-dac502259ad0.png

3.非侵入調(diào)試類型之Trace

ARM Coresight架構(gòu)是遵循可觀測性的架構(gòu)設(shè)計(jì),Cortex Processor后的ETM負(fù)責(zé)在處理器外部抓取指令序列,不影響CPU的運(yùn)行狀態(tài)。并且,Trace信息的傳輸未經(jīng)系統(tǒng)總線,減少了對系統(tǒng)帶寬的影響。Coresight架構(gòu)中存在多個(gè)執(zhí)行流抓取點(diǎn),存在多個(gè)對應(yīng)的ETM,多個(gè)ETM收集的信息會傳入下游的Funnel,F(xiàn)unnel將根據(jù)數(shù)據(jù)所存在的信息將執(zhí)行流信息進(jìn)行分流處理。

c61a271e-21c9-11ed-ba43-dac502259ad0.png

關(guān)于具體的互聯(lián)結(jié)構(gòu)可以查看對應(yīng)版本的設(shè)備樹文件。(所在源碼目錄為/arch/arm64/boot/dts)

4.非侵入調(diào)試類型之Performance Monitor Unit(PMU)

CPU中存在PMU部件,該部件會監(jiān)控CPU的相關(guān)性能信息,用戶可以通過訪問相應(yīng)的寄存器獲取相關(guān)信息。perf是一種可以訪問PMU的用戶態(tài)工具。

c62d3b4c-21c9-11ed-ba43-dac502259ad0.png

perf訪問PMU的相關(guān)流程如下:

1.使用perf_pmu_register注冊PMU事件。

2.perf_event_open系統(tǒng)調(diào)用打開對應(yīng)事件的文件描述符,從中讀取記錄的值。

審核編輯 :李倩

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

    關(guān)注

    68

    文章

    11285

    瀏覽量

    225128
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11767

    瀏覽量

    219105
  • ARM架構(gòu)
    +關(guān)注

    關(guān)注

    15

    文章

    185

    瀏覽量

    39227

原文標(biāo)題:PODS峰會筆記: 淺談手機(jī)性能的可觀測性&揭秘ARM架構(gòu)對Linux調(diào)測特性的支持(Day3)

文章出處:【微信號:LinuxDev,微信公眾號:Linux閱碼場】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    Linux系統(tǒng)內(nèi)核參數(shù)調(diào)優(yōu)實(shí)戰(zhàn)指南

    Linux 內(nèi)核參數(shù)調(diào)優(yōu)是系統(tǒng)性能優(yōu)化的核心環(huán)節(jié)。隨著云原生架構(gòu)的普及和硬件性能的飛速提升,默認(rèn)的內(nèi)核參數(shù)配置往往無法充分發(fā)揮系統(tǒng)潛力。在高并發(fā) Web 服務(wù)、大數(shù)據(jù)處理、容器化部署等場景下,合理的內(nèi)核參數(shù)調(diào)整可帶來 30%-2
    的頭像 發(fā)表于 01-28 14:27 ?460次閱讀

    深度解析?ARM?架構(gòu):從劍橋車庫到未來計(jì)算

    大家好,我是你們的技術(shù)博主[Linux1024]。 今天我們來聊聊一個(gè)無處不在,但又常常被忽略的技術(shù)基石——ARM架構(gòu)。 當(dāng)你拿起手機(jī)、平板,或是打開輕薄的筆記本,你手里的設(shè)備大概率就運(yùn)行著A
    的頭像 發(fā)表于 01-05 07:09 ?384次閱讀
    深度解析?<b class='flag-5'>ARM</b>?<b class='flag-5'>架構(gòu)</b>:從劍橋車庫到未來計(jì)算

    芯源MCU架構(gòu)是不是基本都是ARM架構(gòu)?還有其他的架構(gòu)嗎?

    芯源MCU架構(gòu)是不是基本都是ARM架構(gòu)?還有其他的架構(gòu)嗎?
    發(fā)表于 11-20 06:21

    rtsmart開啟C++特性支持后,工具鏈編譯內(nèi)核不通過怎么解決?

    各位大佬好,本人在rtsmart項(xiàng)目中需要使用C++11特性,在menuconfig那里配置了支持C++特性后,使用7.3.0版本的arm-linux-musleabi編譯器編譯內(nèi)核時(shí)
    發(fā)表于 09-29 07:49

    什么是ARM架構(gòu)?你需要知道的一切

    深入探討ARM?架構(gòu)的真正含義、其核心特性、與NVIDIAJetson?等平臺的差異,以及與傳統(tǒng)x86系統(tǒng)的比較。什么是ARM架構(gòu)?
    的頭像 發(fā)表于 09-11 14:48 ?1333次閱讀
    什么是<b class='flag-5'>ARM</b><b class='flag-5'>架構(gòu)</b>?你需要知道的一切

    Linux網(wǎng)絡(luò)性能調(diào)優(yōu)方案

    在當(dāng)今高并發(fā)、大流量的互聯(lián)網(wǎng)環(huán)境下,網(wǎng)絡(luò)性能往往成為系統(tǒng)的瓶頸。作為一名資深運(yùn)維工程師,我在生產(chǎn)環(huán)境中遇到過無數(shù)次因?yàn)門CP/IP參數(shù)配置不當(dāng)導(dǎo)致的性能問題。今天分享一套完整的Linux網(wǎng)絡(luò)性能調(diào)優(yōu)方案,幫助大家徹底解決網(wǎng)絡(luò)性能瓶頸。
    的頭像 發(fā)表于 08-06 18:01 ?1342次閱讀

    Linux內(nèi)核參數(shù)調(diào)優(yōu)方案

    在高并發(fā)微服務(wù)環(huán)境中,網(wǎng)絡(luò)性能往往成為K8s集群的瓶頸。本文將深入探討如何通過精細(xì)化的Linux內(nèi)核參數(shù)調(diào)優(yōu),讓你的K8s節(jié)點(diǎn)網(wǎng)絡(luò)性能提升30%以上。
    的頭像 發(fā)表于 08-06 17:50 ?970次閱讀

    Linux系統(tǒng)性能調(diào)優(yōu)方案

    關(guān)鍵要點(diǎn)預(yù)覽:本文將深入解析Linux系統(tǒng)性能瓶頸的根本原因,提供可直接落地的調(diào)優(yōu)方案,讓你的系統(tǒng)性能提升30-50%!
    的頭像 發(fā)表于 08-06 17:49 ?894次閱讀

    一文回顧 Arm架構(gòu) 40 年的創(chuàng)新歷程

    從 1980 年代為 BBC Micro 打造的低功耗 ARM1 處理器,到如今的人工智能 (AI) 設(shè)備,Arm 架構(gòu)始終立于世界上最具變革性技術(shù)的核心。40 年來,Arm
    的頭像 發(fā)表于 07-09 18:41 ?2695次閱讀
    一文回顧 <b class='flag-5'>Arm</b><b class='flag-5'>架構(gòu)</b> 40 年的創(chuàng)新歷程

    同一水平的 RISC-V 架構(gòu)的 MCU,和 ARM 架構(gòu)的 MCU 相比,運(yùn)行速度如何?

    ARM 架構(gòu)與 RISC-V 架構(gòu)的 MCU 在同一性能水平下的運(yùn)行速度對比,需從架構(gòu)設(shè)計(jì)原點(diǎn)、指令集特性及實(shí)際測試數(shù)據(jù)展開剖析。以
    的頭像 發(fā)表于 07-02 10:29 ?1501次閱讀
    同一水平的 RISC-V <b class='flag-5'>架構(gòu)</b>的 MCU,和 <b class='flag-5'>ARM</b> <b class='flag-5'>架構(gòu)</b>的 MCU 相比,運(yùn)行速度如何?

    龍芯處理器支持WINDOWS嗎?

    龍芯處理器目前不支持原生運(yùn)行Windows操作系統(tǒng),主要原因如下: 架構(gòu)差異 龍芯架構(gòu):龍芯早期基于MIPS架構(gòu),后續(xù)轉(zhuǎn)向自主研發(fā)的LoongArch指令集(與x86/
    發(fā)表于 06-05 14:24

    ARM Mali GPU 深度解讀

    ARM Mali GPU 深度解讀 ARM Mali 是 Arm 公司面向移動設(shè)備、嵌入式系統(tǒng)和基礎(chǔ)設(shè)施市場設(shè)計(jì)的圖形處理器(GPU)IP 核,憑借其異構(gòu)計(jì)算架構(gòu)、能效優(yōu)化和生態(tài)協(xié)同,
    的頭像 發(fā)表于 05-29 10:12 ?4363次閱讀

    手把手教你如何調(diào)優(yōu)Linux網(wǎng)絡(luò)參數(shù)

    在高并發(fā)網(wǎng)絡(luò)服務(wù)場景中,Linux內(nèi)核的默認(rèn)網(wǎng)絡(luò)參數(shù)往往無法滿足需求,導(dǎo)致性能瓶頸、連接超時(shí)甚至服務(wù)崩潰。本文基于真實(shí)案例分析,從參數(shù)解讀、問題診斷到優(yōu)化實(shí)踐,手把手教你如何調(diào)優(yōu)Linux網(wǎng)絡(luò)參數(shù),支撐百萬級并發(fā)連接。
    的頭像 發(fā)表于 05-29 09:21 ?990次閱讀

    Arm架構(gòu)何以成為現(xiàn)代計(jì)算的基礎(chǔ)

    2025 年 4 月,Arm 架構(gòu)迎來了問世 40 周年。這個(gè)始于英國劍橋一隅、懷揣雄心壯志的項(xiàng)目,如今已成為全球廣泛采用的計(jì)算架構(gòu)。從傳感器、智能手機(jī)、筆記本電腦,到汽車、數(shù)據(jù)中心等諸多領(lǐng)域,有數(shù)十億設(shè)備如今運(yùn)行在
    的頭像 發(fā)表于 05-20 10:02 ?1208次閱讀

    Arm助力開發(fā)者加速遷移至Arm架構(gòu)云平臺 Arm云遷移資源分享

    隨著基于 Arm 架構(gòu)的云實(shí)例日益擴(kuò)展,越來越多的用戶正從傳統(tǒng)平臺遷移至 Arm 平臺上。
    的頭像 發(fā)表于 04-09 18:23 ?1253次閱讀