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

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

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

殺手級(jí)分析——bootchart

Linux閱碼場(chǎng) ? 來(lái)源:Linuxer ? 作者:Linuxer ? 2020-09-08 09:13 ? 次閱讀

之前小弟一直在宣傳推廣火焰圖,結(jié)果是很多童鞋凡事都用火焰圖。說(shuō)實(shí)話,火焰圖特別適合分析運(yùn)行時(shí)熱點(diǎn)(無(wú)論是on-cpu、off-cpu、還是內(nèi)存等,火焰圖的想象力可以無(wú)窮放大),但是你要分析一個(gè)的如果是一個(gè)時(shí)序問(wèn)題,比如系統(tǒng)啟動(dòng)的慢、一個(gè)軟件啟動(dòng)的慢,用火焰圖固然可能有一點(diǎn)幫助,但是幫助肯定很微妙。

因?yàn)檫@種某個(gè)過(guò)程慢的問(wèn)題,是一個(gè)時(shí)序問(wèn)題。不是一個(gè)運(yùn)行時(shí)熱點(diǎn)的問(wèn)題,所以你最重要的是畫(huà)出來(lái)你的這個(gè)過(guò)程的時(shí)序圖。這里面說(shuō)不定有I/O的牽絆,說(shuō)不定就是狂占CPU,說(shuō)不定誰(shuí)傻不拉幾地在sleep。

Linux界有一個(gè)殺手級(jí)分析Linux本身啟動(dòng)慢的工具,叫做bootchart,它其實(shí)把啟動(dòng)過(guò)程中進(jìn)程的IO,CPU占用情況進(jìn)行了描述。注意這類(lèi)圖都有一個(gè)共同特點(diǎn),橫軸是時(shí)間,縱軸是CPU、線程等的狀態(tài)(運(yùn)行、睡眠、IO什么的)。

bootchart確實(shí)有利于分析開(kāi)機(jī)過(guò)程,但是你平時(shí)某個(gè)軟件啟動(dòng)慢呢?或者更廣泛地說(shuō),某個(gè)特定過(guò)程特別慢呢?或者更加更加廣泛地說(shuō),我寫(xiě)的程序在系統(tǒng)里面是怎么在運(yùn)行,幾個(gè)線程怎么在跑?我們則要描繪出它的時(shí)序圖。

這個(gè)時(shí)候,我們可以用perftimechart,比如,下面我們寫(xiě)一個(gè)很簡(jiǎn)單的包含了2個(gè)線程周期循環(huán)做事情和睡眠的代碼:

我們運(yùn)行上面這個(gè)a.out,下面我們用perf錄制系統(tǒng)的sched情況:

~$ sudo perf sched record -a^C[ perf record: Woken up 1 times to write data ][perfrecord:Capturedandwrote1.909MBperf.data(9039samples)]

接下來(lái)生成timechart:

~$ sudo perf timechartWritten6.4secondsoftracetooutput.svg.

我們用firefox打開(kāi)這個(gè)時(shí)序圖:

時(shí)序圖上我們看到了我的8個(gè)CPU的運(yùn)行情況,以及a.out中2個(gè)線程一會(huì)兒藍(lán)色(running)一會(huì)灰色(sleeping)的情況。我們看到,系統(tǒng)差不多在用CPU2和CPU7跑我們a.out里面的2個(gè)占用CPU比較高線程。

不過(guò),這類(lèi)工具里面壓軸的不是perf timechart,說(shuō)實(shí)話,有點(diǎn)太粗糙了!我們來(lái)看看大名鼎鼎的內(nèi)核鯊魚(yú)——kernelshark。

下面我們用trace-cmd來(lái)錄制sched相關(guān)的trace點(diǎn):

~$ sudo trace-cmd record -e 'sched_wakeup*' -e sched_switch -e 'sched_migrate*'Hit Ctrl^C to stop recording^CCPU0 data recorded at offset=0x60e000 61440 bytes in sizeCPU1 data recorded at offset=0x61d000 184320 bytes in sizeCPU2 data recorded at offset=0x64a000 24576 bytes in sizeCPU3 data recorded at offset=0x650000 12288 bytes in sizeCPU4 data recorded at offset=0x653000 12288 bytes in sizeCPU5 data recorded at offset=0x656000 86016 bytes in sizeCPU6 data recorded at offset=0x66b000 172032 bytes in sizeCPU7 data recorded at offset=0x69500028672bytesinsize

用kernelshark來(lái)打開(kāi)錄制的點(diǎn):

~$ kernelshark trace.datLoading"trace.dat"

看到下面的圖形界面:

我們可以在UI上面進(jìn)行各種操作,比如我們關(guān)注a.out,我們就選擇task:

我們得到這樣的視圖:

比如我圖上畫(huà)的那個(gè)點(diǎn),a.out的顏色發(fā)生了變化,而下面的文字則表達(dá)了發(fā)生變化的原因是調(diào)度,調(diào)度的目標(biāo)是swapper,這個(gè)調(diào)度點(diǎn)發(fā)生在CPU4上面:

如果你期待的是一個(gè)橫軸是時(shí)間,縱軸是每個(gè)線程、CPU在某個(gè)時(shí)間段里面在干什么的圖,kernelshark,你當(dāng)然值得擁有。

原文標(biāo)題:宋寶華:當(dāng)Linux內(nèi)核遭遇鯊魚(yú)—kernelshark

文章出處:【微信公眾號(hào):Linuxer】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(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)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11312

    瀏覽量

    209708

原文標(biāo)題:宋寶華:當(dāng)Linux內(nèi)核遭遇鯊魚(yú)—kernelshark

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    電池(包級(jí))測(cè)試系統(tǒng)的技術(shù)原理和應(yīng)用

    電池(包級(jí))測(cè)試系統(tǒng)是一種關(guān)鍵的測(cè)試工具,其技術(shù)原理和應(yīng)用在多個(gè)領(lǐng)域中發(fā)揮著至關(guān)重要的作用。以下是對(duì)其技術(shù)原理和應(yīng)用的具體介紹:一、技術(shù)原理電池(包級(jí))測(cè)試系統(tǒng)的技術(shù)原理主要基于電化學(xué)原理、物理測(cè)試
    發(fā)表于 12-09 15:40

    汽車(chē)級(jí)PMIC在BDU和PDU中的應(yīng)用分析

    汽車(chē)級(jí) PMIC 在 BDU 和 PDU 中的應(yīng)用分析 新唐科技模擬前端產(chǎn)品 - 業(yè)界獨(dú)有高壓絕緣工藝 隨著新能源汽車(chē)的迅猛崛起和相關(guān)技術(shù)的日益完善,電動(dòng)汽車(chē)正迅速取代燃油車(chē)成為新一代的出行首選
    的頭像 發(fā)表于 11-29 11:51 ?269次閱讀
    汽車(chē)<b class='flag-5'>級(jí)</b>PMIC在BDU和PDU中的應(yīng)用<b class='flag-5'>分析</b>

    工業(yè)級(jí)網(wǎng)線標(biāo)準(zhǔn)分析

    工業(yè)級(jí)網(wǎng)線標(biāo)準(zhǔn)是指那些可以耐受一定物理環(huán)境的網(wǎng)線標(biāo)準(zhǔn)。與普通網(wǎng)絡(luò)環(huán)境下使用的標(biāo)準(zhǔn)網(wǎng)線相比,工業(yè)級(jí)網(wǎng)線具有更高的信號(hào)抗干擾性能、更強(qiáng)的機(jī)械強(qiáng)度和更廣泛的工作溫度范圍,適用于惡劣的物理環(huán)境,例如高溫、低溫、高濕、高腐蝕等工業(yè)應(yīng)用場(chǎng)景。
    的頭像 發(fā)表于 11-28 10:04 ?226次閱讀

    電流隱患大揭秘:電氣短路——火災(zāi)背后的“無(wú)形殺手

    在城市的脈絡(luò)中,電氣線路如同血脈般穿梭,為現(xiàn)代生活輸送著不可或缺的能源。然而,在這看似平靜的能源流動(dòng)之下,隱藏著一位不容忽視的“隱形殺手”——電氣短路,它正悄然成為威脅公共安全的重大隱患。據(jù)國(guó)家
    的頭像 發(fā)表于 09-14 09:28 ?319次閱讀
    電流隱患大揭秘:電氣短路——火災(zāi)背后的“無(wú)形<b class='flag-5'>殺手</b>”

    國(guó)產(chǎn)網(wǎng)表級(jí)功耗分析EDA大幅提升精度與性能

    了門(mén)級(jí)功耗分析的精度。) (2024年9月12日,四川成都)英諾達(dá)(成都)電子科技有限公司發(fā)布了EnFortius?凝鋒?門(mén)級(jí)功耗分析工具(GPA)的新版本V24.08,新增波形重放(
    發(fā)表于 09-12 11:22 ?346次閱讀
    國(guó)產(chǎn)網(wǎng)表<b class='flag-5'>級(jí)</b>功耗<b class='flag-5'>分析</b>EDA大幅提升精度與性能

    用opa847搭的兩級(jí)放大電路,出現(xiàn)震蕩的原因?

    我用opa847搭的兩級(jí)放大電路,出現(xiàn)震蕩,誰(shuí)幫我分析分析為什么會(huì)這樣,下面是原理圖,附帶示波器輸出波形
    發(fā)表于 08-26 08:09

    Moldex3D模流分析之晶圓級(jí)封裝(EWLP)制程

    與準(zhǔn)備分析。注:此教學(xué)使用的案例為嵌入式晶圓級(jí)封裝(EWLP)制程的仿真,壓縮成型模塊(CM)另外還支持了許多不同制程類(lèi)型,如非流動(dòng)性底部充填及非導(dǎo)電性黏著等。此教
    的頭像 發(fā)表于 07-10 08:35 ?1533次閱讀
    Moldex3D模流<b class='flag-5'>分析</b>之晶圓<b class='flag-5'>級(jí)</b>封裝(EWLP)制程

    OpenHarmony之開(kāi)機(jī)優(yōu)化

    OpenHarmony已經(jīng)支持了Bootchart工具,我們可以直接使用Bootchart工具,Bootchart工具介紹如下: 概述 Bootchart是一個(gè)用于系統(tǒng)啟動(dòng)過(guò)程性能
    發(fā)表于 07-01 16:39

    江波龍分析存儲(chǔ)市場(chǎng):企業(yè)級(jí)產(chǎn)品受青睞,價(jià)格或?qū)睾蜕蠞q

    近日,江波龍?jiān)诮邮苄袠I(yè)機(jī)構(gòu)調(diào)研時(shí),對(duì)當(dāng)前的存儲(chǔ)市場(chǎng)狀況進(jìn)行了深入分析。根據(jù)市場(chǎng)機(jī)構(gòu)的數(shù)據(jù),當(dāng)前原廠供應(yīng)正逐步向企業(yè)級(jí)產(chǎn)品傾斜,顯示出企業(yè)級(jí)市場(chǎng)對(duì)存儲(chǔ)晶圓的強(qiáng)勁需求。在此背景下,整體存儲(chǔ)晶圓的供應(yīng)依然處于偏緊狀態(tài)。
    的頭像 發(fā)表于 06-05 10:46 ?745次閱讀

    概倫電子宣布正式推出芯片級(jí)HBM靜電防護(hù)分析平臺(tái)ESDi

    近日,概倫電子宣布正式推出芯片級(jí)HBM靜電防護(hù)分析平臺(tái)ESDi和功率器件及電源芯片設(shè)計(jì)分析驗(yàn)證工具PTM,并開(kāi)始在國(guó)內(nèi)外市場(chǎng)廣泛推廣。
    的頭像 發(fā)表于 05-28 10:09 ?601次閱讀

    無(wú)人機(jī)遭遇“神秘殺手”:揭秘反無(wú)人機(jī)技術(shù)的崛起

    隨著無(wú)人機(jī)技術(shù)的廣泛應(yīng)用,其帶來(lái)的安全隱患也日益凸顯。為了應(yīng)對(duì)這一挑戰(zhàn),反無(wú)人機(jī)技術(shù)應(yīng)運(yùn)而生,成為無(wú)人機(jī)領(lǐng)域的“神秘殺手”。本文特信無(wú)人機(jī)反制小編將通過(guò)具體實(shí)例,探討反無(wú)人機(jī)技術(shù)的發(fā)展現(xiàn)狀、應(yīng)用場(chǎng)景以及未來(lái)趨勢(shì)。
    的頭像 發(fā)表于 04-25 09:12 ?664次閱讀
    無(wú)人機(jī)遭遇“神秘<b class='flag-5'>殺手</b>”:揭秘反無(wú)人機(jī)技術(shù)的崛起

    人工智能熱潮來(lái)襲,硅光子技術(shù)迎來(lái)殺手級(jí)應(yīng)用?

    過(guò)去十年來(lái),通用云和互聯(lián)網(wǎng)應(yīng)用(如視頻流媒體、社交網(wǎng)絡(luò)、互聯(lián)網(wǎng)搜索引擎和電子商務(wù)平臺(tái)等)推動(dòng)了數(shù)據(jù)中心流量的指數(shù)級(jí)增長(zhǎng)。
    的頭像 發(fā)表于 04-01 17:26 ?886次閱讀
    人工智能熱潮來(lái)襲,硅光子技術(shù)迎來(lái)<b class='flag-5'>殺手</b><b class='flag-5'>級(jí)</b>應(yīng)用?

    級(jí)功率因數(shù)校正電路的適用性分析

    電子發(fā)燒友網(wǎng)站提供《單級(jí)功率因數(shù)校正電路的適用性分析.doc》資料免費(fèi)下載
    發(fā)表于 03-18 14:41 ?0次下載

    深入分析國(guó)產(chǎn)車(chē)規(guī)級(jí)芯片的產(chǎn)業(yè)發(fā)展現(xiàn)狀

    根據(jù)功能劃分,車(chē)規(guī)級(jí)芯片主要分為四類(lèi):計(jì)算及控制芯片、功率芯片、傳感器芯片及其他芯片。計(jì)算及控制芯片以微控制器和邏輯 IC 為主,主要用于計(jì)算分析及決策。
    發(fā)表于 02-21 17:35 ?1755次閱讀
    深入<b class='flag-5'>分析</b>國(guó)產(chǎn)車(chē)規(guī)<b class='flag-5'>級(jí)</b>芯片的產(chǎn)業(yè)發(fā)展現(xiàn)狀

    如何使用Arm SPE進(jìn)行芯片數(shù)據(jù)采集和性能分析呢?

    Arm Statistical Profiling Extension (SPE, 統(tǒng)計(jì)分析擴(kuò)展) 是一種架構(gòu)級(jí)功能,旨在增強(qiáng) Arm CPU 的指令執(zhí)行分析。
    的頭像 發(fā)表于 01-24 18:16 ?1853次閱讀