vtune性能分析工具

1. 概述

VTune是Intel一個比較強大的性能分析軟件。主要包括三個小工具:

(1)Performance Analyzer:性能分析,找到軟件性能比較熱的部分,一般也就是性能瓶頸的關鍵點。

(2)Intel Threading Checker:用於查找線程錯誤, 能夠檢測資源競爭、線程死鎖等問題

(3)Intel Threading Profiler:線程性能檢測工具,多線程可能存在負載比平衡, 同步開銷過大等線程相關的性能問題,該工具可以幫你發現每一個線程每一時刻的狀態。

2. 安裝

linux上,解壓文件vtune_amplifier_xe_2011_update1.tar.gz;

執行install.sh腳本,跟據提示下一步就可以;

安裝一個windows客戶端VTune_Amplifier_XE_2011_update3_setup.exe,用於將收集的數據進行圖形界面展示。

3. 使用

VTune有兩種工作方式,我們一般使用的是遠程模式,

本地模式是被分析的程序和VTune同時工作在同一臺機器上

遠程模式是指程序在一臺機器上,VTune裝在另一臺機器上

1)啓動需要分析的應用程序,以is_searcher_server爲例

/home/admin/intel/vtune_amplifier_xe_2011/bin64/amplxe-cl -collect hotspots is_searcher_server -c conf/searcher_server.cfg -l conf/searcher_log.cfg -k restart -d

其中,amplxe-cl是指列出本機所支持的分析類型,這裏選擇-collect hotspots收集熱點,

還有amplxe-cl –report-list; 可支持的報告類型。

更多見http://software.intel.com/zh-cn/blogs/2010/11/10/amplxe-cl/

後面就是服務的啓動參數。

服務啓動後,會自動生成一個數據文件,名爲r000hs(之後生成的會自動命名爲r001hs,r002hs…)

2)啓動其它服務程序,在施壓一段時間後,停止被分析的程序(也就是這裏的is_searcher_server)

這時,r000hs裏存的就是收集的數據信息。要注意,一定要停止被分析程序,否則數據不會生成到r000hs裏面。

3)啓動windows客戶端VTune_Amplifier_XE_2011_update3_setup,將數據r000hs導入,步驟如下:

file->open->result,將r000hs加載,但此時會很慢,解決辦法,使用sumba共享服務器,將linux文件在windows下共享,


sudo su進入root權限,

修改samba密碼

smbpasswd -a admin;

New SMB password:

Retype new SMB password:

啓動samba服務

/etc/init.d/smb start

在win7下,地址欄輸入測試機的ip,就可以訪問了,也可以將地址映射爲網絡驅動器,方法,
計算機右鍵->映射網絡驅動器,在彈出的界面,輸入相應的路徑,如圖所示,

之後將\\10.20.137.40\admin\search\bin\r000hs 加載。


4)加載後,界面如圖所示,

其中Top-down Tree以樹形結構展示每個調用所花費的時間及所佔比,可以從時間花費最多的地方往下一層一層的展開,找到關鍵函數,分析其性能,

上圖我們可以看到,關鍵函數evaluate所花費的時間比佔11.3%.

另外可以通過Bottom-up來查看函數/模塊/線程調用的時間耗費,如圖所示,

其中,Function /call Stack是指函數調用的時間,還有其它選項,使用者自已點點就明白了。

5)補充說明,加載後如果看不函數信息,需要添加路徑,在Module裏找到被分析的程序(is_searcher_server),

雙擊後,在彈出的對話框中,將服務的路徑加上去,然後點擊Analyse Type窗口右上角的Re-resolve,就可以看到函數調用情況了。

vtune只能告訴我們性能熱區,具體爲什麼成爲熱區,需要使用者跟據自已的經驗和對項目的理解去分析並試驗,從而優化性能。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章