999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于硬件跟蹤的Linux系統性能優化

2019-06-05 11:28:55劉棟
電子產品世界 2019年3期
關鍵詞:調試

劉棟

摘要:隨著Linux系統的復雜度越來越高,如何調試并優化系統性能,以提高系統硬件的使用效率,減輕系統負載也越來越重要。其關系到整個產品的成本和使用體驗,甚至影響產品上市期限。

雖然在Linux中,有很多開源軟件可以用來測量整個系統的性能,但是這些軟件同時可能也會引進其他問題,最終導致調試優化過程變得更加復雜。本文將介紹德國的ADIT公司面臨的類似問題,并最終如何使用勞特巴赫的TRACE32這一非侵入式硬件跟蹤工具來解決這些問題。

關鍵詞:硬件跟蹤;調試;Linux

1 Linux軟件調試的挑戰

德國ADIT(Advanced Driver Information Technology GmbH)的最初方案是在Arm和Intel平臺上均部署Linux,使用SystemTap來測量整體系統性能以定位并消除性能瓶頸。SystemTap使用了Linux的一些很好的功能:uprobe和kprobe。這些功能允許用戶創建一個動態的跟蹤過程,可以分別跟蹤用戶級別和內核級別的函數。

借助工具來減輕系統負載這個理念本身并沒有問題,而且ADIT一開始也期望諸如SystemTap等軟件工具僅對整體系統的實時性能產生較小的影響。然而出乎意料的是,使用了這些軟件后,Arm平臺相較于Intel平臺而言,其系統速度的下降幅度明顯大于后者。為了確認問題所在,ADIT創建了一個空函數,并且通過uprobe來進行測量。結果表明,在Arm平臺上,調用一次uprobe耗費的時間是Intel平臺的兩倍。因為uprobe內部使用了kprobe,所以最初的懷疑是kprobe導致了前述問題。然而這種懷疑是錯誤的,因為實際上kprobe在Arm處理器上比在Intel處理器上運行得更快,所以很顯然問題出在uprobe代碼中。既然問題出在軟件跟蹤工具的代碼中,那么軟件跟蹤工具就不適合用來解決定位問題。

“因為內核uprobe代碼并不簡單,一時間我不知道該如何繼續。于是我決定使用TRACE32來對之前的問題一探究竟。有些時候,圖像是很有幫助的。基于圖表,我可以選擇部分區域的代碼來做更深層次的分析。”ADIT的開發者Frederic Berat說道。

2 TRACE32 PowerTrace硬件跟蹤效果

因此,ADIT決定使用TRACE32PowerTrace的硬件跟蹤功能,該跟蹤功能不會對目標系統的時序有任何影響,同時也允許使用者對最小代碼部分進行深入分析。

Arm和Intel設備都能提供非侵入式的程序流信息,Arm的這種技術是ETM(嵌入式跟蹤宏單元)Intel相應的技術則是IPT(Intel處理器跟蹤)。代碼的執行信息會通過一系列專用的引腳傳輸出來。TRACE32工具連上這些引腳后,無需修改客戶任何程序代碼,就能夠實時收集數據并分析,以此產生應用程序的函數流和每個函數的詳細時序。

ADIT的工程師在他們當前的系統狀態下,直接連接TRACE32硬件后(如圖1),僅需在TRACE32軟件的TPIU配置窗口對PortSize和PortMode進行適當選擇(如圖2),即可獲取實時的跟蹤數據。整個系統的函數流都會被TRACE32軟件重建并以統計的方式進行展現,例如時序圖或函數層級圖。最終匯總成的這張圖表,還原出了一個完整的Linux系統的運行過程,不僅包含內核代碼也包含用戶代碼。根據這張圖表,ADIT的工程師們方便地定位到系統時間消耗的關鍵函數。同時他們也注意到開源性能測試軟件kprobe和uprobe給整個系統帶來的性能瓶頸。

通過使用TRACE32的高級分析特性,ADIT的工程師們快速地定位出兩個明顯的問題點(見圖3和圖4)。最明顯的一個瓶頸,就是在Arm平臺,uprobe調用了preempt_disable()和preempt_enable()共四次,每一次都需要耗時0.6μs檢查棧幀。這樣一共導致了2.4μs的遲延。但這個現象在Intel平臺上并不會出現。雖然單次調用uprobe引起的2.4μs遲延似乎并不是很長,但因為每秒都調用了很多次,這部分延遲會迅速累積成嚴重的滯后。再進一步,第二個瓶頸是uprobe調用過程中的字符串操作。并且,受制于Arm和Intel之間的架構差異,這個瓶頸時間并不固定。

如果沒有實時跟蹤功能,這些瓶頸就幾乎很難被發現。而有了實時跟蹤功能后,把這些信息跟蹤并記錄下就很簡單。明確了從何處著手調查,通過對跟蹤結果的分析,ADIT的工程師確認主要問題在于內核配置。在跨平臺遷移過程中,CONFIG_PREEMPT_TRACE這個配置項被無意地使用了。跟蹤結果顯示,這個配置被打開后,在Arm平臺會導致棧展開,但在Intel平臺并沒有影響,而正是這導致了兩個平臺之間明顯的性能差異。

3結論

通過本文案例可以看出,在Linux系統性能分析和優化過程中,基于硬件的非侵入式實時跟蹤技術,不僅可以實現開源跟蹤軟件的所有功能,而且也可以對Boot相關的代碼進行跟蹤分析,同時還避免引進一些其他問題,并且統計結果更準確、數據分析形式更靈活。

猜你喜歡
調試
基于航拍無人機的設計與調試
電子制作(2018年12期)2018-08-01 00:47:44
燃氣輪機發電機組運行調試
FOCAS功能在機床調試中的開發與應用
核電廠主給水系統調試
中國核電(2017年1期)2017-05-17 06:10:11
無線通信中頻線路窄帶臨界調試法及其應用
電子制作(2017年19期)2017-02-02 07:08:38
調壓柜的調試與試運行探討
工業電氣設備控制系統的安裝與調試
音頻處理器的調試
同期繼電保護調試中出現的問題及處理
基于JTAG的SoC片上調試系統設計
主站蜘蛛池模板: av尤物免费在线观看| 18禁不卡免费网站| 国产成人亚洲无码淙合青草| 免费一级毛片在线观看| 亚欧乱色视频网站大全| 国产成人精品一区二区| 亚洲系列无码专区偷窥无码| 538精品在线观看| www精品久久| 国产本道久久一区二区三区| 天天摸夜夜操| 波多野结衣AV无码久久一区| 精品超清无码视频在线观看| 影音先锋丝袜制服| 亚洲自偷自拍另类小说| 免费午夜无码18禁无码影院| 久久精品无码一区二区日韩免费| 在线观看国产网址你懂的| 久久久成年黄色视频| 免费看的一级毛片| 精品一区二区三区自慰喷水| 亚洲精品另类| 久99久热只有精品国产15| 2021国产在线视频| 日韩欧美色综合| 欧美另类图片视频无弹跳第一页| 久久香蕉欧美精品| 综合人妻久久一区二区精品| 亚洲综合狠狠| 国产成人艳妇AA视频在线| 国产白浆一区二区三区视频在线| 视频一区亚洲| 精品视频第一页| 直接黄91麻豆网站| 三级毛片在线播放| 国产成人精品日本亚洲77美色| 日韩黄色精品| 无码精油按摩潮喷在线播放 | 亚洲视频免费在线看| 欧美在线国产| 色首页AV在线| 久久人人97超碰人人澡爱香蕉| 国产精品男人的天堂| 99久久精品国产综合婷婷| 丁香六月激情综合| 亚洲精品福利网站| 91无码视频在线观看| 久久天天躁狠狠躁夜夜躁| 国产欧美日韩另类精彩视频| 日日摸夜夜爽无码| 日韩午夜片| 国产电话自拍伊人| 成人午夜福利视频| 国产精品v欧美| 国产精品xxx| 波多野结衣一区二区三视频| 免费国产在线精品一区| 久久性妇女精品免费| 91无码人妻精品一区二区蜜桃 | 国产精品林美惠子在线播放| 九九视频免费在线观看| 国产浮力第一页永久地址| 国产欧美日韩在线一区| 久久国产精品影院| 日韩欧美国产另类| 国产一级二级在线观看| 色综合天天视频在线观看| 91尤物国产尤物福利在线| 日韩毛片基地| 亚洲第一在线播放| 国产午夜无码片在线观看网站| 成人久久精品一区二区三区 | 91麻豆久久久| 精品国产毛片| 国产91无码福利在线| 香蕉在线视频网站| 久爱午夜精品免费视频| 国产69囗曝护士吞精在线视频| 亚洲一区二区三区国产精华液| 国产乱码精品一区二区三区中文 | 1769国产精品视频免费观看| 欧美.成人.综合在线|