• 正文
    • openwrt的配置增加perf
    • perf命令測試
    • 結語
  • 相關推薦
申請入駐 產(chǎn)業(yè)圖譜

openwrt開發(fā)使用-增加perf

03/01 10:19
278
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

perf性能工具寫的文章也有幾篇了,這里就不多做介紹了,有興趣的朋友可以看我之前的幾篇文章:《perf性能分析工具使用分享》。今天分享的內(nèi)容是openwrt里面增加perf,因為默認是沒有的。

歡迎關注微信公眾號:羽林君,或者添加作者個人微信:become_me

openwrt的配置增加perf

首先使用 / 進入搜索perf關鍵詞,默認如下:

接下來我們開始一個個分析,看哪些是我們需要的:

第一個是KERNEL_CC_OPTIMIZE_FOR_PERFORMANCE 是控制編譯優(yōu)化的

第二個是 KERNEL_CGROUP_PERF

第三個是KERNEL_PERF_EVENTS 支持內(nèi)存支持perf的events捕獲

第四個是KERNEL_RPI_AXIPERF Prompt: Compile the kernel with RaspberryPi AXI Performance monitors 使用 RaspberryPi AXI 性能監(jiān)視器編譯內(nèi)核

    第五個是PACKAGE_perf 是可以支持使用的perf工具

從上面搜索的內(nèi)容來看,第二個、第三個、第五個應該是我們需要的 ,尤其是第五個,

但是當我們打開第五個位置時候:

發(fā)現(xiàn)是沒有perf選項的,所以我們需要設置它的依賴選項,才能在第五項出現(xiàn)perf

先按照第二項和第三項配置:

設置以下兩個選項:

Compile?the?kernel?with?performance?events?and?counters

Compile?the?kernel?with?profiling?enabled

這個時候第五項出現(xiàn)了perf,我們就可以選中perf

make 編譯

拷貝新編譯的固件到設備

重啟后發(fā)現(xiàn)perf命令可以出現(xiàn)了

perf命令測試

perf top -p (進程pid) -K -g 執(zhí)行如下:perf top -p 2184 -K -g

看不到函數(shù)名字是因為除了應用程序要加-g 參數(shù)編譯之后,像libc.so,等等庫也要加-g參數(shù)編譯,openwrt默認是把庫strip了,自己寫的程序,可以自己寫makefile加-g編譯,像這些libc.so這些庫的話,因為openwrt編譯過程,會把libc.so保留一個沒有strip的,所以直接編譯完固件之后
在固件源碼處find xxx -iname libc.so,把沒有strip的庫用winwscp工具,傳到mt7688的/lib/下面(記錄是以覆蓋的方式,不要刪除libc.so,再拷貝),再次使用perf工具,就能看到libc.so的函數(shù)名了,其它庫也一樣

再使用perf top

結語

這就是我自己在openwrt增加perf使用分享。如果大家有更好的想法和需求,也歡迎大家加我好友交流分享哈。


作者:良知猶存,白天努力工作,晚上原創(chuàng)公號號主。公眾號內(nèi)容除了技術還有些人生感悟,一個認真輸出內(nèi)容的職場老司機,也是一個技術之外豐富生活的人,攝影、音樂 and 籃球。關注我,與我一起同行。

相關推薦

登錄即可解鎖
  • 海量技術文章
  • 設計資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

一個程序員,喜歡寫文章,還喜歡打籃球,也喜歡吉他鋼琴的駁雜之人。日常更新自己,分享包括但不限于C/C++、嵌入式、物聯(lián)網(wǎng)、Linux等編程學習筆記,同時,公眾號內(nèi)包含大量的學習資源。歡迎關注,一同交流學習,共同進步!