在Linux系統中作為一個普通線程是非常苦逼的。不僅NMI 、硬中斷、軟中斷可以打斷它,甚至其它普通線程也可以來打斷干擾到它的運行。
如果沒有這些打斷事件,一個普通線程執行while循環,可以high過天際。這些打斷事件對一個普通線程來說,就相當于噪音一樣的存在。
從Linux 5.14-rc1開始引入了一個新的tracer---(osnoise tracer)。就是從一個線程thread的角度把這些噪音全部詳細統計出來。
上圖中 在1秒內普通線程(pid=98) 受到的各個干擾事件的次數和cpu available百分比等都可以顯示出來。
統計到這個程度,感覺還是不夠詳細。 可以打開osnoise對應的trace event.
上面的interference 5說明在一個采樣周期內被打斷了5次(包括4次中斷和一次a.out線程事件產生的噪音),上面的每一次打斷都有事件名稱和對應的時間統計:
1232+1222+1192+1262+3994882=4000242-452 (~4000242)
統計時間約等于4000242ns 因為包含了檢查代碼的時間時間。
代碼實現:
在以上每個打斷事件處理函數中都插上trace event的鉤子函數 來統計事件的執行時間,然后在每個cpu上運行一個內核線程進行周期性統計。
這個強大的osnoise tracer使用到的技術僅僅是用到了tracer event提供的基礎設施。
我在閱碼場發布過一個視頻課程,對linux系統中各個tracer的使用和代碼實現都有非常詳細的講解:
編輯:jq
-
cpu
+關注
關注
68文章
10905瀏覽量
213033 -
Linux
+關注
關注
87文章
11345瀏覽量
210415 -
噪音
+關注
關注
1文章
170瀏覽量
23950 -
代碼
+關注
關注
30文章
4828瀏覽量
69063
原文標題:Linux系統噪音統計(osnoise tracer)
文章出處:【微信號:LinuxDev,微信公眾號:Linux閱碼場】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
精密空調—精密空調噪音擾人?看降噪音妙招!
![精密空調—精密空調<b class='flag-5'>噪音</b>擾人?看降<b class='flag-5'>噪音</b>妙招!](https://file1.elecfans.com/web2/M00/BF/C7/wKgaomW3oNyARbXKAAEJxdYjzZE712.png)
深入探討Linux系統中的動態鏈接庫機制
![<b class='flag-5'>深入</b>探討<b class='flag-5'>Linux</b><b class='flag-5'>系統</b>中的動態鏈接庫機制](https://file1.elecfans.com/web3/M00/02/B7/wKgZPGdiLnaAaR-oAAAPLwOzZgA047.png)
linux操作系統安裝步驟 linux操作系統的特點及組成
Linux 驅動開發與應用開發,你知道多少?
![<b class='flag-5'>Linux</b> 驅動開發與應用開發,你知道多少?](https://file.elecfans.com/web2/M00/20/B3/pYYBAGGfNNmAK-PZAAJsGM5Cgk0227.jpg)
SystemView上下文統計窗口識別阻塞原因
深入探討Linux的進程調度器
![<b class='flag-5'>深入</b>探討<b class='flag-5'>Linux</b>的進程調度器](https://file1.elecfans.com/web2/M00/03/3A/wKgaoma679SAK08_AALRmJd5TD4803.png)
深入探究石英可編程 DXO/VCXO 振蕩器 SWPQ201 系列(10MHz 至 1500 MHz)
![<b class='flag-5'>深入</b><b class='flag-5'>探究</b>石英可編程 DXO/VCXO 振蕩器 SWPQ201 系列(10MHz 至 1500 MHz)](https://file1.elecfans.com//web2/M00/01/43/wKgZoma0ZpuAUf80AACE8nusOTk410.png)
功放機源線接音箱消除噪音的方法與技巧
深入探究 MEMS LVCMOS 振蕩器 SiT1602 系列 52 種標準頻率
SPC統計過程控制系統解決方案
![SPC<b class='flag-5'>統計</b>過程控制<b class='flag-5'>系統</b>解決方案](https://file1.elecfans.com/web2/M00/F4/EF/wKgZomZ-CCeAPdsBAADKw1U_380135.png)
電機電磁噪音的產生機理和降低措施
變頻器產生噪音的原因及處理方法
3562-Linux系統啟動卡制作及系統固化
![3562-<b class='flag-5'>Linux</b><b class='flag-5'>系統</b>啟動卡制作及<b class='flag-5'>系統</b>固化](https://file1.elecfans.com/web2/M00/C3/A0/wKgaomXm0H6AeUtdAAHKmcdvitw638.png)
評論