vtune使用筆記


  • 1. 介紹

Vtune 是 intel 的一款性能分析工具,其既可以分析某種應用的特性,也可以檢測整個系統的特性,能夠找出熱點瓶頸的所在,給開發者提供良好的優化思路。

  • 2.Vtune 下載,安裝

Vtune 有 windows 版本和 linux 版本,有收費的,試用的,免費的。本人使用的是一款試用版本, vtune 地址 http://software.intel.com/en-us/articles/intel-vtune-amplifier-xe/ ,下載前需要注冊賬號,得到序列號,安裝的時候需要用到。

安裝 vtune 需要在 root 賬號下,或者使用 sudo 進行安裝,安裝成功后,需要將用戶加到 vtune 這個 group 下,才能夠使用 vtune 。 Usermod –aG vtune user

  • 3.vtune 使用

3.1 分析應用程序

amplxe-cl -collect hotspots -r test_hot ./test

通過上面的命令可以收集到 test 應用的熱點數據,保存在 test_hot 目錄下。還可收集 locksandwaits , lightweight-hotspots 等類型數據,具體可以使用 amplxe-cl –help 查看詳細方法,或者 man amplxe-cl, 當然 source /opt/intel/vtune_amplifier_xe_2011/amplxe-vars.sh( 這是 vtune 的安裝成功后得到的文件 ) 之后, vtune 命令才能夠直接用

需要注意的是,在檢測java應用的時候,如果需要得到 jit 的信息,在運行前,需要設置環境變量 export  AMPLXE_EXPERIMENTAL=1

3.2 Amplxe-runsa 和 Amplxe-runss

Amplxe-runsa ,系統模式的性能分析; Amplxe-runss ,用戶模式的性能分析。

Amplxe-runsa 能夠分析出整個系統的熱點瓶頸,使用實例如下所示,其中 test 為收集數據目錄。amplxe-runsa –target=host -r ./test

Amplxe-runss 分析的是用戶模式下的熱點瓶頸,使用實例如下, test 為數據數據目錄, app 為應用。amplxe-runss  -r test -- app

amplxe-runss 可以 attach 到某個進程上去,進行監測收集。amplxe-runss –t cpu –r ./test -target-pid=<integer> -interval=<integer>

3.3 生成統計數據

用命令行生成統計結果, amplxe-cl -report hotspots -r test_hot -report-out test_out ,其中 hotspots 為上面 collect 的收集數據類型, test_hot 為收集數據的目錄 test_out 為統計的結果文件。

用 vtune 自帶的圖形工具查看結果,例如在 ubuntu 下,使用 ampx-cl-gui 。在圖形界面下看到的數據會豐富一些,有助於分析,例如能夠看到 CPI 等信息。

Amplxe-cl,amplxe-runss,amplxe-runsa 都可以 attach 一個進程, -target-pid=integer, 但是出來的 report 是沒有 jit 信息 的,用 vtune 起動的應用,最終才會生成帶 jit信息 的report

  • 4. 使用過程中的出錯情況

Specjbb lightweight-hotspots

Using result path `/home/xxx/test/specjbb2005/specjbb_hot'

Executing actions 16 % Loading data files

Warning: Cannot load data file `/home/xxx/test/specjbb2005/specjbb_hot/d                                                                              ata.0/tbs1381903680.tb6' (tbrw call "TBRW_dobind(tbrwFile->getHandle(), streamIn                                                                             dex)" failed: Invalid sample file (24)).

Executing actions 50 % done

Error: Error 0x4000001e (Cannot load raw collector data)

 

上面的報錯是因為sample 數量太多了,因此在生成lightweight -hotspots的時候會出錯,在減少采樣的情況下,可以避免上面的錯誤

 

解決辦法 :

加參數 -target-duration-type=medium, 這時產生的結果數據文件較大, windows 下 vtune gui 打開很長時間沒有反應

將參數設置為 -target-duration-type=long ,這是產生的文件會小一些, vtune gui 打開就沒什么問題了。

 

實際上還有個參數 -duration xxx , xxx 單位為 seconds ,就是讓 vtune 檢測 xxx 這些秒,將數值設置得小一些,也可以達到上面的效果,不過只是監控了程序的一部分,應用程序沒有完全跑完。

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM