1. 程式人生 > >效能測試工具VTune的功能和用法介紹

效能測試工具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 TimeBasic Hotspots

如圖 4.6所示,Top Hotspots資訊,會列舉VTune分析的程式裡的活躍度最高(最耗時)的部分,例如:自旋鎖、函式等。

4.6 Top HotspotsBasic Hotspots

如圖 4.7所示,CPU Usage Histogram資訊,顯示CPU使用直方圖。

4.7 CPU Usage HistogramBasic Hotspots

如圖 4.8所示,Collection and Platform Info資訊,包含了應用程式命令列、作業系統、CPU等資訊。

4.8 Collection and Platform infoBasic Hotspots

4.2  Bottom-up

如圖 4.9所示,Bottom-up可以檢視函式/模組/執行緒呼叫時間的耗費,主要分析的資料有:程序、執行緒、模組、函式和呼叫的堆疊資訊。可以顯示程式的程序、執行緒號,函式的開始地址,CPU開銷時間,CPU自旋時間等資訊。

4.9 Bottom-upBasic Hotspots

4.3  Caller/Callee

如圖 4.10所示,Caller/Callee主要分析的資料有:CPU總利用時間、各個函式自我利用時間、各個函式的自我開銷時間、各個函式的呼叫者和被呼叫者等。

4.10 Caller/CalleeBasic Hotspots

4.4  Top-down Tree

如圖 4.11所示,Top-down Tree是以樹形結構展示每個呼叫所花費的時間及佔比,可以從時間花費最多的地方往下一層一層的展開,找到關鍵函式分析其效能。其分析的內容和Caller/Callee基本相同。

4.11 Top-down TreeBasic Hotspots

4.5 Tasks and Frames

如圖 4.12所示,Tasks and Frames主要以直方圖的形式詳細展示了程式的分析時間、CPU使用時間以及程序和各個執行緒的執行時間。

4.12 Tasks and FramesBasic Hotspots

5.  總結

VTune可以幫助使用者定位程式中的"熱點",所謂的"熱點"就是程式中花費執行時間最長的程式碼段。VTune效能分析器能夠收集應用程式和系統上的效能資料,然後以圖形和表格的形式顯示出來。從這些顯示的資料中,使用者能夠分析應用程式的效能,從而知道程式中哪個部分執行的慢,為什麼執行的慢。

6.  免責宣告

內部交流文件,若發現相關錯誤或者建議,請及時聯絡文件建立者進行修訂和更新。