vtune性能分析工具

1. 概述

VTune是Intel一个比较强大的性能分析软件。主要包括三个小工具:

(1)Performance Analyzer:性能分析,找到软件性能比较热的部分,一般也就是性能瓶颈的关键点。

(2)Intel Threading Checker:用于查找线程错误, 能够检测资源竞争、线程死锁等问题

(3)Intel Threading Profiler:线程性能检测工具,多线程可能存在负载比平衡, 同步开销过大等线程相关的性能问题,该工具可以帮你发现每一个线程每一时刻的状态。

2. 安装

linux上,解压文件vtune_amplifier_xe_2011_update1.tar.gz;

执行install.sh脚本,跟据提示下一步就可以;

安装一个windows客户端VTune_Amplifier_XE_2011_update3_setup.exe,用于将收集的数据进行图形界面展示。

3. 使用

VTune有两种工作方式,我们一般使用的是远程模式,

本地模式是被分析的程序和VTune同时工作在同一台机器上

远程模式是指程序在一台机器上,VTune装在另一台机器上

1)启动需要分析的应用程序,以is_searcher_server为例

/home/admin/intel/vtune_amplifier_xe_2011/bin64/amplxe-cl -collect hotspots is_searcher_server -c conf/searcher_server.cfg -l conf/searcher_log.cfg -k restart -d

其中,amplxe-cl是指列出本机所支持的分析类型,这里选择-collect hotspots收集热点,

还有amplxe-cl –report-list; 可支持的报告类型。

更多见http://software.intel.com/zh-cn/blogs/2010/11/10/amplxe-cl/

后面就是服务的启动参数。

服务启动后,会自动生成一个数据文件,名为r000hs(之后生成的会自动命名为r001hs,r002hs…)

2)启动其它服务程序,在施压一段时间后,停止被分析的程序(也就是这里的is_searcher_server)

这时,r000hs里存的就是收集的数据信息。要注意,一定要停止被分析程序,否则数据不会生成到r000hs里面。

3)启动windows客户端VTune_Amplifier_XE_2011_update3_setup,将数据r000hs导入,步骤如下:

file->open->result,将r000hs加载,但此时会很慢,解决办法,使用sumba共享服务器,将linux文件在windows下共享,


sudo su进入root权限,

修改samba密码

smbpasswd -a admin;

New SMB password:

Retype new SMB password:

启动samba服务

/etc/init.d/smb start

在win7下,地址栏输入测试机的ip,就可以访问了,也可以将地址映射为网络驱动器,方法,
计算机右键->映射网络驱动器,在弹出的界面,输入相应的路径,如图所示,

之后将\\10.20.137.40\admin\search\bin\r000hs 加载。


4)加载后,界面如图所示,

其中Top-down Tree以树形结构展示每个调用所花费的时间及所占比,可以从时间花费最多的地方往下一层一层的展开,找到关键函数,分析其性能,

上图我们可以看到,关键函数evaluate所花费的时间比占11.3%.

另外可以通过Bottom-up来查看函数/模块/线程调用的时间耗费,如图所示,

其中,Function /call Stack是指函数调用的时间,还有其它选项,使用者自已点点就明白了。

5)补充说明,加载后如果看不函数信息,需要添加路径,在Module里找到被分析的程序(is_searcher_server),

双击后,在弹出的对话框中,将服务的路径加上去,然后点击Analyse Type窗口右上角的Re-resolve,就可以看到函数调用情况了。

vtune只能告诉我们性能热区,具体为什么成为热区,需要使用者跟据自已的经验和对项目的理解去分析并试验,从而优化性能。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章