OProfile是Linux平臺支援的一款功能強大的效能分析工具。網路上很多關於如何安裝在虛擬機器上安裝OProfile的文章,但很多都存在抄襲來抄襲去且並不能安裝成功。現經本人整理和實驗後,現將OProfile在Linux虛擬機器上的安裝過程分享之。

一、安裝虛擬機器

  為了保證虛擬機器能夠正常啟動,在安裝虛擬機器的過程中,請將磁碟模式設定為IDE。否則,升級核心後,將會報"pci 18.2: no compatible bridge window for [io 0xf000-0xffff]"錯誤,且無法啟動虛擬機器!


圖1 設定磁碟模式

二、配置核心

  核心的配置可參考博文《Linux核心升級》,配置完成後,再對核心配置檔案.config進行如下修改:

// 加上OPROFILE配置CONFIG_PROFILING=yCONFIG_OPROFILE=m(注:m表示編譯為模組,y表示編譯到核心中)CONFIG_OPROFILE_EVENT_MULTIPLEX=y // 加上APIC配置CONFIG_X86_IO_APIC=yCONFIG_X86_LOCATE_APIC=yCONFIG_PCI_IOAPIC=y

三、核心替換

  有了①、②的配置之後,便可進行核心的編譯和替換了(注:可參考博文《Linux核心升級》

四、其他配置

  核心升級完成後,這時使用OProfile會報如下錯誤:

#opreport -l ./a.outOverflow stats not availableerror: no sample files found: profile specification too strict?

解決方案:

#opcontrol --deinit#modprobe oprofile timer=1#echo "options oprofile timer=1" >> /etc/modprobe.conf

⑤、執行過程

// 載入模組#opcontrol --init // 是否對核心進行測試(一般不測試核心)#opcontrol --no-vmlinux// 重置測試資料#opcontrol --reset// 開始#opcontrol --start// 執行程式(注:可執行檔案編譯時,需加上編譯選項-g)#./a.out// 把收集到的資料寫入檔案#opcontrol --dump// 停止#opcontrol --stop// 關閉守護程序#opcontrol --shutdown// 解除安裝模組#opcontrol --deinit// 原始碼時間分析#opannotate --source ./a.out// 生成測試報告#opreport -l ./a.out
           

再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!https://blog.csdn.net/jiangjunshow