在Linux系統(tǒng)中作為一個(gè)普通線程是非??啾频摹2粌HNMI 、硬中斷、軟中斷可以打斷它,甚至其它普通線程也可以來(lái)打斷干擾到它的運(yùn)行。
如果沒(méi)有這些打斷事件,一個(gè)普通線程執(zhí)行while循環(huán),可以high過(guò)天際。這些打斷事件對(duì)一個(gè)普通線程來(lái)說(shuō),就相當(dāng)于噪音一樣的存在。
從Linux 5.14-rc1開(kāi)始引入了一個(gè)新的tracer---(osnoise tracer)。就是從一個(gè)線程thread的角度把這些噪音全部詳細(xì)統(tǒng)計(jì)出來(lái)。

上圖中 在1秒內(nèi)普通線程(pid=98) 受到的各個(gè)干擾事件的次數(shù)和cpu available百分比等都可以顯示出來(lái)。
統(tǒng)計(jì)到這個(gè)程度,感覺(jué)還是不夠詳細(xì)。 可以打開(kāi)osnoise對(duì)應(yīng)的trace event.

上面的interference 5說(shuō)明在一個(gè)采樣周期內(nèi)被打斷了5次(包括4次中斷和一次a.out線程事件產(chǎn)生的噪音),上面的每一次打斷都有事件名稱和對(duì)應(yīng)的時(shí)間統(tǒng)計(jì):
1232+1222+1192+1262+3994882=4000242-452 (~4000242)
統(tǒng)計(jì)時(shí)間約等于4000242ns 因?yàn)榘藱z查代碼的時(shí)間時(shí)間。
代碼實(shí)現(xiàn):
在以上每個(gè)打斷事件處理函數(shù)中都插上trace event的鉤子函數(shù) 來(lái)統(tǒng)計(jì)事件的執(zhí)行時(shí)間,然后在每個(gè)cpu上運(yùn)行一個(gè)內(nèi)核線程進(jìn)行周期性統(tǒng)計(jì)。
這個(gè)強(qiáng)大的osnoise tracer使用到的技術(shù)僅僅是用到了tracer event提供的基礎(chǔ)設(shè)施。
我在閱碼場(chǎng)發(fā)布過(guò)一個(gè)視頻課程,對(duì)linux系統(tǒng)中各個(gè)tracer的使用和代碼實(shí)現(xiàn)都有非常詳細(xì)的講解:
編輯:jq
-
cpu
+關(guān)注
關(guān)注
68文章
11285瀏覽量
225144 -
Linux
+關(guān)注
關(guān)注
88文章
11768瀏覽量
219106 -
噪音
+關(guān)注
關(guān)注
1文章
171瀏覽量
24547 -
代碼
+關(guān)注
關(guān)注
30文章
4970瀏覽量
74018
原文標(biāo)題:Linux系統(tǒng)噪音統(tǒng)計(jì)(osnoise tracer)
文章出處:【微信號(hào):LinuxDev,微信公眾號(hào):Linux閱碼場(chǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
Linux內(nèi)核的“心跳”:jiffies如何為系統(tǒng)計(jì)時(shí)?
內(nèi)核配置項(xiàng)引發(fā)網(wǎng)絡(luò)性能下降的深度剖析
【「Linux 設(shè)備驅(qū)動(dòng)開(kāi)發(fā)(第 2 版)」閱讀體驗(yàn)】+讀深入理解Linux內(nèi)核內(nèi)存分配
MAX97003:高效低噪音頻子系統(tǒng)的卓越之選
深入探究CC2540F128/F256:低功耗藍(lán)牙單芯片解決方案
深入探究 SN65LVELT23:一款高性能的電平轉(zhuǎn)換器
深入Linux內(nèi)核:進(jìn)程調(diào)度的核心邏輯與實(shí)現(xiàn)細(xì)節(jié)
華納云服務(wù)器Linux系統(tǒng)電源管理與節(jié)能優(yōu)化配置方法
Linux系統(tǒng)性能調(diào)優(yōu)方案
Linux系統(tǒng)中網(wǎng)絡(luò)配置詳解
電機(jī)常見(jiàn)的噪音、振動(dòng)問(wèn)題及解決方法
Linux系統(tǒng)管理的核心概念
噪音儀的作用是什么?一文為你介紹
Linux權(quán)限管理基礎(chǔ)入門
探究智能變電站綜自系統(tǒng)的設(shè)計(jì)與選型
深入探究Linux系統(tǒng)噪音統(tǒng)計(jì)(osnoise tracer)
評(píng)論