intel性能测试工具VTune的功能和用法介绍

本文介绍Intel VTune性能分析器的下载、安装与使用方法,详细解析基础热点分析功能,帮助开发者定位程序性能瓶颈。

转自:https://blog.youkuaiyun.com/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 
来源:优快云 
原文:https://blog.youkuaiyun.com/WY_stutdy/article/details/79106501 
版权声明:本文为博主原创文章,转载请附上博文链接!

<think>嗯,用户让我介绍如何使用Intel Cscripts工具查看LTSSM日志。首先,我需要确认自己对CscriptsLTSSM的理解是否正确。Cscripts应该是Intel的配置调试工具套件,通常用于他们的处理器芯片组。LTSSM是链路训练状态机状态,属于PCIe协议的一部分,用于监控链路状态。 用户可能是一位硬件工程师或者系统调试人员,遇到了PCIe链路问题,需要查看LTSSM日志来诊断问题。他们可能已经知道Cscripts的基本用法,但需要具体指导如何获取LTSSM日志。深层需求可能是解决设备连接不稳定、枚举问题或性能问题。 接下来,我需要回忆Cscripts的相关命令。记得在Cscripts中,可能使用Pcie模块下的命令,比如`Pcie.LTSSM`或者`Pcie.log`来获取日志。可能需要先进入特定的PCIe设备上下文,再执行命令。需要注意用户是否有足够的权限,是否需要管理员权限运行,以及日志的保存位置。 另外,可能需要解释LTSSM的不同状态,比如L0、L1、Recovery等,帮助用户理解日志内容。还要提醒常见问题,比如日志文件路径、权限问题、设备选择是否正确。如果用户遇到问题,可能需要建议他们检查这些步骤或者查看Intel的官方文档。 是否需要分步骤说明?例如,先启动Cscripts,选择设备,运行命令,保存日志。可能需要具体命令示例,比如使用`device.get()`选择设备,然后调用相关函数。还要注意不同版本的Cscripts可能有不同的命令,需要提及版本兼容性。 用户可能还需要知道如何解析生成的日志,可能需要结合其他工具或文档。是否需要推荐其他工具,如PCIE Analyzer或Intel的其他诊断工具?或者是否应该保持答案专注于Cscripts本身? 总结回答的结构:先介绍工具概念,然后分步骤说明使用方法,包括示例命令,解释日志内容,常见问题注意事项。确保语言简洁,用中文,避免专业术语过多,必要时进行解释。</think>Intel CScripts(Configuration Scripts)是英特尔用于调试分析处理器、芯片组及PCIe(PCI Express)相关问题的工具套件,常与Intel处理器的早期开发或硬件诊断相关。查看**LTSSM(Link Training and Status State Machine)日志**可以帮助诊断PCIe链路的训练状态错误,例如设备连接失败、链路不稳定等问题。 --- ### **通过CScripts查看LTSSM日志的步骤** 1. **环境准备** - 需在支持Intel处理器的系统上运行(如Intel客户端/服务器平台)。 - 安装Intel CScripts工具包(通常需从英特尔内部资源获取,非公开提供)。 - 以管理员权限运行命令行或CScripts交互式控制台。 2. **启动CScripts控制台** ```bash csscripts.exe -i ``` 3. **选择目标PCIe设备** - 列出系统中所有PCIe设备: ```python devices = cscripts.get_devices() for dev in devices: print(dev) ``` - 进入目标PCIe设备的上下文(例如设备索引为0): ```python device = devices[0] device.unlock() # 解锁设备配置空间 ``` 4. **查看LTSSM日志** - 使用`Pcie`模块的LTSSM相关命令: ```python # 查看当前LTSSM状态 device.Pcie.LTSSM.state # 获取LTSSM历史状态日志(需工具支持) device.Pcie.LTSSM.log.dump() ``` - 直接导出日志到文件: ```python with open("ltssm_log.txt", "w") as f: f.write(device.Pcie.LTSSM.log.dump()) ``` --- ### **LTSSM日志解读** LTSSM定义了PCIe链路的训练状态机,日志中可能包含以下关键状态: - **L0**:链路正常激活状态。 - **L1/L2**:低功耗状态。 - **Recovery**:链路尝试重新同步。 - **Detect**:初始检测设备是否存在。 - **Loopback**:测试模式。 - **Hot Reset**:热复位事件。 若日志中出现频繁跳转(如反复进入`Recovery`),可能表明链路存在信号完整性、电源或兼容性问题。 --- ### **注意事项** 1. **权限与依赖**:需确保CScripts工具版本与硬件兼容,且具有足够权限访问PCIe配置空间。 2. **日志范围**:部分功能需特定调试版本固件支持,可能无法在零售版硬件上使用。 3. **替代方案**:若无法使用CScripts,可尝试: - 通过`lspci -vvv`(Linux)或`RWEverything`(Windows)查看PCIe状态。 - 使用Intel VTune或PCIe Analyzer工具进行深度分析。 如果需要更具体的操作指导或日志示例,建议参考英特尔内部文档或联系硬件支持团队。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值