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

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

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

深入探究Linux系統(tǒng)噪音統(tǒng)計(osnoise tracer)

Linux閱碼場 ? 來源:相遇Linux ? 作者:JeffXie ? 2021-09-18 10:53 ? 次閱讀

Linux系統(tǒng)中作為一個普通線程是非常苦逼的。不僅NMI 、硬中斷、軟中斷可以打斷它,甚至其它普通線程也可以來打斷干擾到它的運行。

如果沒有這些打斷事件,一個普通線程執(zhí)行while循環(huán),可以high過天際。這些打斷事件對一個普通線程來說,就相當(dāng)于噪音一樣的存在。

從Linux 5.14-rc1開始引入了一個新的tracer---(osnoise tracer)。就是從一個線程thread的角度把這些噪音全部詳細(xì)統(tǒng)計出來。

2a6b43b0-156e-11ec-8fb8-12bb97331649.png

上圖中 在1秒內(nèi)普通線程(pid=98) 受到的各個干擾事件的次數(shù)和cpu available百分比等都可以顯示出來。

統(tǒng)計到這個程度,感覺還是不夠詳細(xì)。 可以打開osnoise對應(yīng)的trace event.

2a7b91e8-156e-11ec-8fb8-12bb97331649.png

上面的interference 5說明在一個采樣周期內(nèi)被打斷了5次(包括4次中斷和一次a.out線程事件產(chǎn)生的噪音),上面的每一次打斷都有事件名稱和對應(yīng)的時間統(tǒng)計:

1232+1222+1192+1262+3994882=4000242-452 (~4000242)

統(tǒng)計時間約等于4000242ns 因為包含了檢查代碼的時間時間。

代碼實現(xiàn):

在以上每個打斷事件處理函數(shù)中都插上trace event的鉤子函數(shù) 來統(tǒng)計事件的執(zhí)行時間,然后在每個cpu上運行一個內(nèi)核線程進(jìn)行周期性統(tǒng)計。

這個強(qiáng)大的osnoise tracer使用到的技術(shù)僅僅是用到了tracer event提供的基礎(chǔ)設(shè)施。

我在閱碼場發(fā)布過一個視頻課程,對linux系統(tǒng)中各個tracer的使用和代碼實現(xiàn)都有非常詳細(xì)的講解:

編輯:jq

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

    關(guān)注

    68

    文章

    10803

    瀏覽量

    210787
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11204

    瀏覽量

    208701
  • 噪音
    +關(guān)注

    關(guān)注

    1

    文章

    169

    瀏覽量

    23862
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4721

    瀏覽量

    68216

原文標(biāo)題:Linux系統(tǒng)噪音統(tǒng)計(osnoise tracer)

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

收藏 人收藏

    評論

    相關(guān)推薦

    Linux根文件系統(tǒng)的掛載過程

    Linux根文件系統(tǒng)(rootfs)是Linux系統(tǒng)中所有其他文件系統(tǒng)和目錄的起點,它是內(nèi)核啟動時掛載的第一個文件
    的頭像 發(fā)表于 10-05 16:50 ?220次閱讀

    如何構(gòu)建Linux根文件系統(tǒng)

    構(gòu)建Linux根文件系統(tǒng)是一個涉及多個步驟和概念的過程,它對于Linux系統(tǒng)的啟動和運行至關(guān)重要。
    的頭像 發(fā)表于 10-05 16:47 ?194次閱讀

    Linux 驅(qū)動開發(fā)與應(yīng)用開發(fā),你知道多少?

    一、Linux驅(qū)動開發(fā)與應(yīng)用開發(fā)的區(qū)別開發(fā)層次不同:Linux驅(qū)動開發(fā)主要是針對硬件設(shè)備進(jìn)行編程,處于操作系統(tǒng)內(nèi)核層,直接與硬件交互,為上層應(yīng)用提供設(shè)備訪問的接口。Linux應(yīng)用開發(fā)則
    的頭像 發(fā)表于 08-30 12:16 ?508次閱讀
    <b class='flag-5'>Linux</b> 驅(qū)動開發(fā)與應(yīng)用開發(fā),你知道多少?

    SystemView上下文統(tǒng)計窗口識別阻塞原因

    SystemView工具可以記錄嵌入式系統(tǒng)的運行時行為,實現(xiàn)可視化的深入分析。在新發(fā)布的v3.54版本中,增加了一項新功能:上下文統(tǒng)計窗口,提供了對任務(wù)運行時統(tǒng)計信息的
    的頭像 發(fā)表于 08-20 11:31 ?360次閱讀

    深入探討Linux的進(jìn)程調(diào)度器

    Linux操作系統(tǒng)作為一個開源且廣泛應(yīng)用的操作系統(tǒng),其內(nèi)核設(shè)計包含了許多核心功能,而進(jìn)程調(diào)度器(Scheduler)就是其中一個至關(guān)重要的模塊。進(jìn)程調(diào)度器負(fù)責(zé)決定在任何給定的時刻哪個進(jìn)程可以運行
    的頭像 發(fā)表于 08-13 13:36 ?875次閱讀
    <b class='flag-5'>深入</b>探討<b class='flag-5'>Linux</b>的進(jìn)程調(diào)度器

    深入探究石英可編程 DXO/VCXO 振蕩器 SWPQ201 系列(10MHz 至 1500 MHz)

    深入探究石英可編程 DXO/VCXO 振蕩器 SWPQ201 系列(10MHz 至 1500 MHz)
    的頭像 發(fā)表于 08-10 10:05 ?395次閱讀
    <b class='flag-5'>深入</b><b class='flag-5'>探究</b>石英可編程 DXO/VCXO 振蕩器 SWPQ201 系列(10MHz 至 1500 MHz)

    功放機(jī)源線接音箱消除噪音的方法與技巧

    噪音的來源與類型 在音響系統(tǒng)中,噪音可能來自多個方面,包括電源線、信號線、揚聲器線、接地問題、電磁干擾等。根據(jù)來源和類型,噪音可以分為以下幾種: 1.1 電源線
    的頭像 發(fā)表于 08-02 10:14 ?636次閱讀

    深入探究 MEMS LVCMOS 振蕩器 SiT1602 系列 52 種標(biāo)準(zhǔn)頻率

    深入探究 MEMS LVCMOS 振蕩器 SiT1602 系列(52 種標(biāo)準(zhǔn)頻率)
    的頭像 發(fā)表于 07-19 16:16 ?287次閱讀

    SPC統(tǒng)計過程控制系統(tǒng)解決方案

    SPC即(Statistical Process Control)統(tǒng)計過程控制,SPC統(tǒng)計過程控制系統(tǒng)通過多維度數(shù)據(jù)聚合,基于信息化與數(shù)字化技術(shù)自動對生產(chǎn)過程進(jìn)行實時監(jiān)控及預(yù)警,利用統(tǒng)計
    的頭像 發(fā)表于 06-28 08:47 ?345次閱讀
    SPC<b class='flag-5'>統(tǒng)計</b>過程控制<b class='flag-5'>系統(tǒng)</b>解決方案

    電機(jī)電磁噪音的產(chǎn)生機(jī)理和降低措施

    電磁噪音的來源進(jìn)行深入解析,對于降低噪音污染、提高電機(jī)性能具有重要意義。本文將從電磁噪音的產(chǎn)生機(jī)理、影響因素以及降低噪音的措施等方面進(jìn)行詳細(xì)
    的頭像 發(fā)表于 06-11 18:02 ?2096次閱讀

    變頻器產(chǎn)生噪音的原因及處理方法

    變頻器作為現(xiàn)代電力傳動系統(tǒng)中的重要組成部分,廣泛應(yīng)用于各種工業(yè)領(lǐng)域。然而,在變頻器的運行過程中,有時會產(chǎn)生噪音,這不僅影響設(shè)備的正常運行,還可能對工作環(huán)境和人員健康造成不良影響。因此,了解變頻器產(chǎn)生
    的頭像 發(fā)表于 06-11 17:50 ?3319次閱讀

    深入了解Linux中vi命令的使用

    深入了解Linux中vi命令的使用 VI是一款在Linux系統(tǒng)中使用的文本編輯器,它是一款功能強(qiáng)大、靈活性高的編輯器。VI編輯器具有非常高效的命令行操作方式,并且在各個版本的
    的頭像 發(fā)表于 12-25 11:15 ?418次閱讀

    linux系統(tǒng)的用途

    Linux是一種自由和開放源代碼的操作系統(tǒng),最初由芬蘭的計算機(jī)科學(xué)家林納斯·托瓦茲創(chuàng)建。它基于UNIX操作系統(tǒng),并且非常靈活,適用于各種不同類型的應(yīng)用程序和用途。本文將詳細(xì)介紹Linux
    的頭像 發(fā)表于 11-23 11:12 ?956次閱讀

    linux系統(tǒng)基礎(chǔ)入門教程

    Linux是一種開源的操作系統(tǒng),它被廣泛應(yīng)用于服務(wù)器、嵌入式系統(tǒng)以及個人電腦上。本篇文章將帶領(lǐng)讀者從入門的角度,詳細(xì)介紹Linux系統(tǒng)的基礎(chǔ)
    的頭像 發(fā)表于 11-16 16:45 ?987次閱讀

    Linux perf 簡要介紹

    (profile)應(yīng)用程序,從而找出瓶頸和優(yōu)化點,以提高系統(tǒng)的性能和穩(wěn)定性。它支持多種統(tǒng)計和視圖模式,能夠為開發(fā)人員和系統(tǒng)管理員提供深入的性能分析
    的頭像 發(fā)表于 11-09 17:06 ?763次閱讀