性能測試工具VTune的功能和用法介紹

1. VTune介紹
VTune可視化性能分析器(Intel VTune Performance Analyzer)是一個用於分析和優化程序性能的工具,做爲Intel爲開發者提供的專門針對尋找軟硬件性能瓶頸的一款分析工具,它能肯定程序的熱點(hotspot),找到致使性能不理想的緣由,從而讓開發者據此對程序進行優化。
VTune性能分析器能經過如下的手段發現和定位程序中的性能問題:
    從當前系統中收集性能數據;
    從系統到源代碼不一樣的層次上,以不一樣的互動形式來組織和展現數據;
    發現潛在的性能問題,並提出改進措施。算法

2. VTune的下載和安裝
VTune的下載和安裝比較繁瑣,下面簡單介紹VTune軟件的下載過程和在Linux環境下的安裝過程。
2.1    VTune的下載
VTune的正式版的價格很貴,能夠選擇下載試用版——下載連接。下載試用版本須要註冊帳號,能夠得到31天的免費試用。註冊完成以後,註冊郵箱裏會收到一封郵件,其中包含軟件的下載連接和註冊碼。
點擊郵箱裏的下載連接,選擇「Linux系統產品」並選擇本身想要下載的軟件版本號,本文檔以「vtune_amplifier_xe_2013_update17.tar.gz」軟件版本號爲例。
2.2    VTune的安裝
將下載的軟件安裝包移動到Linux系統上,解壓安裝包:
tar zxvf vtune_amplifier_xe_2013_update17.tar.gz
進入解壓後的文件夾,執行「install.sh」腳本,所有按照默認設置,根據安裝嚮導安裝便可。
安裝完成後,須要先執行VTune安裝成功後獲得的文件:
source /home/…/intel/vtune_amplifier_xe_2017.1.0.486011/amplxe-vars.sh
如圖 2.1所示,使用「amplxe-gui」命令啓動VTune軟件。
        
                                                     圖 2.1  VTune啓動命令
3. VTune的使用
在Linux環境中,啓動VTune性能分析器,如圖 3.1所示,點擊新建工程按鈕,新建一個性能分析工程。
                                     
                                                         圖 3.1  新建工程
如圖 3.2所示,選擇要分析的目標文件,並填寫分析的文件的執行參數。
                     
                                                          圖 3.2  目標文件選擇
如圖 3.3所示,選中目標工程,右擊,能夠新建目標文件的分析類型。
                      
                                                            圖 3.3  新建分析類型
如圖 3.4所示,英特爾VTune性能分析器,能夠分析的性能類型有:「Algorithm Analysis」、「Microarchitecture Analysis」、「Knights Corner Platform Analysis」和「Custom Analysis」四大類。
                                                   
                                                         圖 3.4  VTune分析類型
如圖 3.5所示,「Algorithm Analysis(算法分析)」是運用最普遍的分析類型。它包含「Basic Hotspots(基礎熱點)」、「Advanced Hotspots(高級熱點)」、「Concurrency(併發)」和「Locks and Waits(資源鎖和等待)」四種子分析類型。下面詳細介紹「Basic Hotspots(基礎熱點)」的使用。
                                                     
                                                          圖 3.5  算法分析子類併發

4. (Basic Hotspots)基礎性能熱點分析
如圖 4.1所示,按照第3章節,選擇要分析的目標程序,選擇算法分析裏的基礎性能熱點分析。設置CPU的採樣間隔時間,點擊右上角的「Start」按鈕開始分析目標程序。
                  
                                               圖 4.1  基礎性能分析的創建(Basic Hotspots)
如圖 4.2所示,點擊開始分析數據後,VTune就開始運行目標程序,並收集相關的性能數據,當收集完成以後,須要手動中止數據的收集。
           
                                                  圖 4.2  中止收集數據(Basic Hotspots)
如圖 4.3所示,中止數據分析後,能夠得到8類數據,分別爲「Analysis Target」、「Analysis Type」、「Collection Log」、「Summary」、「Bottom-up」、「Caller/Callee」、「Top-down Tree」和「Tasks and Frames」。其中「Analysis Target」、「Analysis Type」和「Collection Log」三類數據,不作過多分析。主要分析其餘幾類數據所包含的內容。
            
                                            圖 4.3  收集的數據分類(Basic Hotspots)
4.1    Summary
如圖 4.4所示,Summary主要分析的數據有:「Elapsed Time(通過的總時間)」、「Top Hotspots(高熱點部分)」、「CPU Usage Histogram(CPU使用直方圖)」和「Collection and Platform Info(收集信息和平臺信息)」。
                                            
                                                圖 4.4  Summary的數據展現(Basic Hotspots)
如圖 4.5所示,Elapsed Time信息,主要有總線程數量、開銷時間(花費在同步和線程庫函數的時間)、自旋時間(CPU等待其它同步資源處理的自旋等待時間)、CPU時間(CPU運行程序所花費的總時間)和暫停時間。
                       
                                              圖 4.5  Elapsed Time(Basic Hotspots)
如圖 4.6所示,Top Hotspots信息,會列舉VTune分析的程序裏的活躍度最高(最耗時)的部分,例如:自旋鎖、函數等。
                       
                                                圖 4.6  Top Hotspots(Basic Hotspots)
如圖 4.7所示,CPU Usage Histogram信息,顯示CPU使用直方圖。
                     
                                            圖 4.7  CPU Usage Histogram(Basic Hotspots)
如圖 4.8所示,Collection and Platform Info信息,包含了應用程序命令行、操做系統、CPU等信息。
                          
                                      圖 4.8  Collection and Platform info(Basic Hotspots)
4.2    Bottom-up
如圖 4.9所示,Bottom-up能夠查看函數/模塊/線程調用時間的耗費,主要分析的數據有:進程、線程、模塊、函數和調用的堆棧信息。能夠顯示程序的進程、線程號,函數的開始地址,CPU開銷時間,CPU自旋時間等信息。
                   
                                               圖 4.9  Bottom-up(Basic Hotspots)
4.3    Caller/Callee
如圖 4.10所示,Caller/Callee主要分析的數據有:CPU總利用時間、各個函數自我利用時間、各個函數的自我開銷時間、各個函數的調用者和被調用者等。
                   
                                              圖 4.10  Caller/Callee(Basic Hotspots)
4.4    Top-down Tree
如圖 4.11所示,Top-down Tree是以樹形結構展現每一個調用所花費的時間及佔比,能夠從時間花費最多的地方往下一層一層的展開,找到關鍵函數分析其性能。其分析的內容和Caller/Callee基本相同。
                      
                                                 圖 4.11  Top-down Tree(Basic Hotspots)
4.5    Tasks and Frames
如圖 4.12所示,Tasks and Frames主要以直方圖的形式詳細展現了程序的分析時間、CPU使用時間以及進程和各個線程的運行時間。
                   
                                             圖 4.12  Tasks and Frames(Basic Hotspots)函數

5. 總結
VTune能夠幫助用戶定位程序中的「熱點」,所謂的「熱點」就是程序中花費執行時間最長的代碼段。VTune性能分析器可以收集應用程序和系統上的性能數據,而後以圖形和表格的形式顯示出來。從這些顯示的數據中,用戶可以分析應用程序的性能,從而知道程序中哪一個部分執行的慢,爲何執行的慢。工具

6. 免責聲明
內部交流文檔,若發現相關錯誤或者建議,請及時聯繫文檔建立者進行修訂和更新。性能

相關文章
相關標籤/搜索