转自:https://blog.csdn.net/WY_stutdy/article/details/79106501

https://software.intel.com/en-us/node/256997

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性能分析器能够收集应用程序和系统上的性能数据,然后以图形和表格的形式显示出来。从这些显示的数据中,用户能够分析应用程序的性能,从而知道程序中哪个部分执行的慢,为什么执行的慢。

--------------------- 
作者:WY_Studying 
来源:CSDN 
原文:https://blog.csdn.net/WY_stutdy/article/details/79106501 
版权声明:本文为博主原创文章,转载请附上博文链接!

intel性能测试工具VTune的功能和用法介绍相关推荐

  1. 强大的密码破解工具:hashcat简介与用法介绍与实例

    常见哈希密码,解密 一:hashcat简介 下载地址:hashcat.net/files/hashcat-5.1.0.7z hashcat是世界上最快的密码破解,它基于cpu gpu 规则的引擎 市面 ...

  2. 电脑游戏性能测试脸型软件,CPU性能测试工具(XtremeMark)5.6.2.420 官方版

    CPU性能测试工具(XtremeMark)是一款功能强大的电脑CPU性能检测工具,使用者可以通过XtremeMark进行详细的电脑数据检查,软件能够详细的列举出CPU的数据,测试结果等等,很好用的一款 ...

  3. Intel 工具vtune的安装和使用

    Intel的vtune工具提供了很好的profiling功能,可以用来对软件应用进行性能调优. 第1步:下载vtune工具,官网地址如下,现在intel将其整合到oneAPI中了. https://s ...

  4. 网络工具nc的常见功能和用法

    文章目录 前言 nc netcat ncat nc的用法 测试udp端口是否可用 端口扫描 一对一聊天 传输文件 端口转发 总结 前言 nc 是一个Linux环境下常用的工具命令,可以用来帮助开发者查 ...

  5. Linux下程序的Profiling工具-性能测试工具GNU gprof

    Linux下程序的Profiling工具 http://blog.chinaunix.net/uid-128922-id-289972.html 我们在写程序,特别是嵌入式程序的时候,通常需要对程序的 ...

  6. Intel 软件开发技术概要与在开发中的运用(讲解并行计算,多核心优化,以及Intel开发工具)

    英特尔有下列牛逼的开发工具与辅助套件,如何应用到实践中去,让自己的软件变得更加大,软件开发更加容易,软件拥有更多的性能呢 英特尔® 图形性能分析器 3.0 英特尔® Cloud Builder 英特尔 ...

  7. 网络性能测试工具iperf的使用与参数解析

    介绍   网络性能评估主要是监测网络带宽的使用率,将网络带宽利用最大化是保证网络性能的基础,但是由于网络设计不合理.网络存在安全漏洞等原因,都会导致网络带宽利用率不高.要找到网络带宽利用率不高的原因, ...

  8. 性能测试工具Loadrunner以及性能测试的流程以及每一个步骤的流程和结果分析

    [文章末尾给大家留下了大量的福利] 性能测试工具Loadrunner Loadrunner是HP公司研发的性能测试工具,原理是通过刻录传输协议生成脚本,增强脚本以后模拟大量用户并发进行性能测试. 对于 ...

  9. 【存储测试】cosbench存储性能测试工具

    一.前言 参考资料: https://blog.csdn.net/QTM_Gitee/article/details/100067724 https://github.com/intel-cloud/ ...

最新文章

  1. 跟vczh看实例学编译原理——一:Tinymoe的设计哲学
  2. 【转】SAP PS 模块简介
  3. CCF201909-1 小明种苹果(100分)【序列处理】
  4. 在Linux环境下select函数的初体验
  5. 医药行业进销存软件 零售药店管理软件
  6. c语言数据结构课程设计算术表达式求值,《数据结构 课程设计》表达式求值 实验报告...
  7. html显示tif图片,呈现HTML中的TIF文件
  8. 不联网服务器系统时间,电脑时间不准确联网自动调整步骤
  9. springboot 整合 邮件发送
  10. 404是什么意思?404错误页面是怎么造成的
  11. Debian11系统安装
  12. python模拟时钟含注释
  13. PCL_ROS的使用
  14. termux获取sd卡读写权限_stm32 SPI读写储存卡(MicroSD TF卡)
  15. 学平面设计能做什么?平面设计都有哪些内容
  16. 携win32api给大家拜个早年
  17. shell 语言中的 if 条件判断
  18. 贵金属金融行业微信公众号营销方案
  19. 升级NodeJs版本
  20. griffon桌面开发之hello world

热门文章

  1. 【IoT】产品研发:如何获取电信平台NB模组IMEI和IMSI号
  2. 大数据处理 - 双层桶划分
  3. 2022四川最新建筑八大员(资料员)模拟考试试题及答案解析
  4. 淘淘商城第8讲——向SVN服务器提交代码
  5. Zimbra邮件服务器利用XXE漏洞与SSRF完成对目标的文件上传与远程代码执行
  6. 信号与系统中的机器学习相关的算法的进展和理解(期末作业)
  7. socket通讯工具类
  8. C预处理器及其#号应用
  9. 数字经济的发展需要什么样的人才
  10. math.cos,math.sin