oprofile使用方法

安裝oprofile,而後加載內核模塊。#modprobe oprofile,模塊加載後開始使用oprofile。linux

1. 首先設置監視內核,使用debuginfo提供的內核,/boot下面的內核沒法使用網絡

#opcontrol --vmlinux=/usr/lib/debug/boot/vmlinux-xxxxx函數

若是不須要監視內核debug

#opcontrol --no-vmlinuxmodule

2. 啓動oprofilefile

#opcontrol --startbug

3. 運行被監視的應用程序

# program runcpu

4. dump監視數據數據

#opcontrol --dump

5. 關閉 oprofile

#opcontrol --shutdown

關閉後並對程序進行分析後能夠清除上一次的監視數據

#opcontrol --reset

6. 查看結果

#opreport  

或者

#opannotate -s [ -p /usr/lib/debug ] 

上面這條命令能夠讓你查看到代碼中的哪一個函數的哪條語句被cpu執行次數最多,極可能就是最耗時的地方。

若是你要監視本身的模塊那麼,須要把*.ko放入到/usr/lib/debug中debug kernel的目錄中。我本身的驅動程序和網絡相關,

因此放到了/usr/lib/debug/lib/modules/2.6.32-xxxx/kernel/drivers/net/igb/ 目錄下,當你使用上面的命令時

#opannotate -s -p /usr/lib/debug 

就會打印出你模塊代碼中的語句的執行狀況。opreport -l 的使用相似,也能夠使用-p選項。

相關文章
相關標籤/搜索