【性能分析】使用Intel VTune Amplifier

摘要:
本文转自https://software.intel.com/zh-cn/blogs/2010/11/10/amplxe-cl/版权归原作者所有,如原作者有任何不允许转载之理由,本文将自行删除。IntelVTuneAmplifierXE2011是新一代的性能分析工具,含图形界面以方便分析结果。但有时我们基于二点原因需要使用命令行来收集性能数据和进行分析:1.含图形界面的工具自身消耗系统的资源2.用

本文转自https://software.intel.com/zh-cn/blogs/2010/11/10/amplxe-cl/
版权归原作者所有,如原作者有任何不允许转载之理由,本文将自行删除。
Intel® VTune™ Amplifier XE 2011 是新一代的性能分析工具,含图形界面以方便分析结果。但有时我们基于二点原因需要使用命令行来收集性能数据和进行分析:
1.含图形界面的工具自身消耗系统的资源
2.用户需要做自动(回溯)性能收集和分析的工作(Run Script),及产生报告
准备工作:
Windows环境下:Command Prompt > $Amplifier XE 2011ampxe-vars.bat
Linux环境下:source$vtune_amplifier_xe/amplxe-vars.sh
命令行句法
amplxe-cl <action-option> [modifier-options]
解释
<action-option> 表示动作的类型,可以是下列之一:collect, collect-list, command, finalize, help, import, knob-list, report, report-list, version。常用的如“-collect” , “-report”, “-collect-list”
[modifier-option] 可以是以下一个或多个选项: allow-multiple-runs,callee-attribution-mode, csv-delimiter, cumulative-threshold-percent,data-limit, [no-]discard-raw-data, quiet, duration, filter, [no-]follow-child,format, group-by, knob, limit, mrte-mode, report-output, result-dir,resume-after, search-dir, start-paused, target-duration-type,target-pid, target-process, user-data-dir, verbose
<target> 表示被分析的应用程序
[target options] 是指应用程序的参数
应用实例
1.列出本机所有支持的分析类型
amplxe-cl –collect-list
amplxe-cl –report-list; 可支持的报告类型
2.输入、分析VTune(TM)Performance Analyzer 的结果
如:amplxe-cl -import tbsf141.tb5 -r r001
如:amplxe-cl -report pmu-events -r r001 -group-by function
3.热点收集
amplxe-cl -collect hotspots -result-dir r0001hs -- ./gsexample2a datafile.txt
amplxe-cl -collect concurrency -r r0002cc -search-dir all:rp=/home/ompPrimes -- ./ompPrime1.icc
amplxe-cl -collect locksandwaits -user-data-dir /tmp -r r0003lw -- ./ompPrime1.icc
amplxe-cl -collect lightweight-hotspots -r r0004lh -- ./primes.gcc
amplxe-cl -collect nehalem_memory-access -duration 10; 系统热点收集
amplxe-cl -collect lightweight-hotspots -target-process gnome-power-manager -duration 10; 对象应用程序的性能数据收集
【注】如果目标对象是Service Application,建议手工加载程序,然后用Attach-to-process
amplxe-cl -collect concurrency -duration n -target-process program,或
amplxe-cl -collect concurrency -duration n -target-pid pid
特别的,最好使用“detach”去终止它(Duration可以设的长一点)
如:amplxe-cl -command detach -r r003hs
4.热点分析
4.a amplxe-cl -report hotspots -result-dir r001hs -group-by function -filter module=gsexample2a ; 仅列出模块gsexample2a相关的热点函数
4.b amplxe-cl -report hotspots -result-dir r001hs -call-stack-mode=all -group-by function; 列出所有的热点函数,包含链接库的
4.c amplxe-cl -report perf-detail -r r000hs -cumulative-threshold-percent 80; 列出占处理器时间80%的函数(模块)信息
4.d amplxe-cl -report perf -csv-delimiter="," -r r000hs; 结果中加入分隔符
5.并行分析
5.a amplxe-cl -report summary -r r0002cc; 显示汇总信息
5.b amplxe-cl -report hotspots -r r0002cc -group-by function; 显示热点函数的并行度
5.c amplxe-cl -report hotspots -r r0002cc -format text -limit 1; 输出格式为text, 仅显示 Top 1
5.d amplxe-cl -report hotspots -r r0002cc -call-stack-mode=all -group-by function; 显示所有函数
6.锁和等待分析
6.1 amplxe-cl -report summary -user-data-dir /tmp -r r0003lw; 显示汇总结果
6.2amplxe-cl -report hotspots -r r0003lw -group-by function-sync-obj;sync objects 的等待分析
7.Lowweight(轻量级)的热点及基于PMU Event分析
amplxe-cl -report hw-events -r r0004lh -group-by function -csv-delimiter=","
8.系统热点分析
amplxe-cl -report hw-events -r r007ma -group-by process
amplxe-cl -report hw-events -r r007ma -filter module=Xvnc -group-by function
9.目标模块的分析(要求目标模块带调试信息)
amplxe-cl -report hw-events -r r010lh -group-by function -filter module=gnome-power-manager
另:
1. 命令行上直接设定PMU的Events(不使用预定义的分析类型),进行性能数据收集,参看这篇文章
2. 热点分析中,自定义采样时间间隔,参看这篇文章

3. 如果工作目录不含 :执行文件,符号文件 和 源代码,需要对结果重新处理。如:Using “amplxe-cl -finalize --search-dir all:rp=new-dir-r result-dir” to solve this problem. You could use "bin", "sym", "src" instead of "all" if you only need to do one of them.

4. Now XE 2013 supports stack-sampling with hardware event-based sampling, add options "-knob enable-stack-collection=true -knob enable-call-counts=true"

5. Since XE 2013 Update 10, the user can know hot addresses or hot addresses with basic block from report. See this example:

# amplxe-cl -collect advanced-hotspots -- ./primes.icc

# amplxe-cl -report hw-events -filter module=primes.icc-source-object function=findPrimes-group-bybasic-block,address

免责声明:文章转载自《【性能分析】使用Intel VTune Amplifier》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇一文带你熟悉Pytorch-&amp;gt;Caffe-&amp;gt;om模型转换流程限制IP注册到Eureka下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

stimulsoft Report报表使用笔记

1.使用设计器设计mrt报表模板,或者从其他文件复制修改 2.删除business object 数据源 3.使用代码添加数据源 ParcelChangeItem change = new ParcelChangeItem(); string filename = @"D:workixxx信息.mrt"; Stimulsoft.Report.StiRe...

Stimulsoft报表操作笔记(一):统计

一、引言 报表大家应该都知道是什么,简单来说就是用表格、图表等格式来动态显示数据。现在web系统中很多需要使用到报表统计、打印功能等,将所需用到的数据绑定到指定的位置,然后分类汇总,这样查看起来更清晰,管理人员分析数据也一目了然。今天就我之前所做的项目总结一下使用stimulsoft报表的经验。 二、准备工作 首先,需要安装Stimulsoft,我使用的版...

JMeter3.0(三十八)图形化HTML报告中文乱码问题处理(转载)

转载自 http://www.cnblogs.com/yangxia-test 由于个人在JMeter 3.0的实际应用中,脚本中的Test Plan/Sampler等元件命名都没有使用中文,所以在之前介绍Dashboard Report特性的博客(原文戳这里))成文时,没有提到关于中文的问题。之后有朋友反馈,Sampler名称为中文时,生成的报告中展示为...

Spark优化之二:集群上运行jar程序,状态一直Accepted且不停止不报错

如果运行Spark集群时状态一直为Accepted且不停止不报错,比如像下面这样的情况: 15/06/14 11:33:33 INFO yarn.Client: Application report for application_1434263747091_0023 (state: ACCEPTED) 15/06/14 11:33:34 INFO yar...

Vue项目的一些优化策略

Vue项目完成后就要从开发环境转成生产环境 一些第三方的包体积过大,导致生成js文件过于庞大,这是时候可以生成打包报告来查看项目中的问题 1.生成报告有两种方式,一种使用npm run build --report 2.另一种使用vue脚手架的ui可视化面板,在项目中输入vue ui  3.点击生产环境下的运行按钮,可以看到打包出来的js文件一共有2M之...

动手撸一个SQL规范检查工具

背景 近几年公司人员规模快速增长,超过半数开发人员均为近两年入职的新员工,开发技能与经验欠缺,之前踩坑的经验也未能完全了解,出现了几起因慢SQL而引发的生产性能问题。 为了更好地指导产品SQL设计及开发,避免不恰当的设计、开发带来问题和隐患,同时为了提升开发人员对SQL相关知识的掌握程度, 我们组织了技术专家依据现状,整理了一份SQL开发规范, 通过明确的...