英特尔® VTune™ 性能分析器通过图形用户界面简化应用调试流程,无需重新编译。因为它与编译器和编程语言无关,因此可用于 C、C++、Fortran、C#、Java、.NET 等多种语言。英特尔 VTune主要用来做程序的性能调试方面的工作,与很多专门软件一样,VTune的门槛比较高,上手很慢。这里是搜集的一点入门教程。
1. What is VTune?
Intel VTune Performance Analyzer是一个用于分析和优化程序性能的工具,它能确定你的程序的hotspot,帮助你找到导致性能不理想的原因,从而让你能据此对程序进行优化。
2. VTune哪里找?
Intel的软件都是需要License的,所以软件比较好找,网上可以直接下载到,但需要自己去买License或是去Intel网站申请试用的License。具体的下载点可以google,或是去Intel网站下载。
推荐下载最新的稳定版本(非beta版)。目前Linux下可以试用的版本是8.0.4,windows下是8.0.1(8.0.2beta是非测试版,在我的机器上只要跑超过30分钟的程序就会挂掉)。下载时记得下载试用版的License文件,要不然装不上的。
3. VTune安装
VTune支持的操作系统主要是Linux和Windows。目前已知对VTune支持较好的系统是RedHat 9, Fedora Core 1,2,3,4, RedHat Enterprise Linux, Windows 2000, XP。 Debian Linux下我还没成功的装过VTune,而Windows Vista 则只有最新的VTune 8.0.1 for windows才支持。
在Windows下安装VTune是很简单的,就是运行install,然后基本上一路回车就行。
Linux下的安装比较麻烦,因为会涉及到VDK的问题。VDK是VTune Driver Kit的简称,VTune要在Linux下安装一个driver才能正常工作,而VDK就是用于编译和安装driver的工具。如果你的内核版本比较老(2.6.9以下),那一般VTune会自带编译好的驱动,这样安装起来很简单。如果你的内核版本高,那么VDK会尝试编译内核,这时就要看点运气了,可能会编译不过(比如Fedora Core 4,还好现在可以在Intel网站下到编译好的2.6.11的驱动)。对于Fedora Core 5和6,还得自己先安装kernel source,安装完还不一定就能编译过。总之如果你想用VTune,建议不要安装太新的发行版本。
4. VTune使用
VTune有两种工作方式:本地模式和远程模式。
本地模式指的是被分析的程序和VTune同时工作在同一台机器上,而远程模式则是指程序在一台机器上,VTune装在另一台机器上。
本地模式很简单,大家看VTune自带的教程就可以。这里主要讲远程模式。
在远程模式中,被分析的程序和VTune分别装在不同的机器上。比如我们这里有很多的SMP机器,这些机器做为应用程序服务器,24小时开机,装的是Linux,而我的桌面机装的是Windows XP。现在我需要分析Linux机器中的一个程序的Cache miss率,所以我在自己的桌面机上装上VTune。但这样还不行,我们得在Linux中装一个VTune Remote Data Collector(RDC)。RDC负责在Linux机器中采集程序的Cache Miss数据,然后送到Windows下的VTune程序,而Windows下的VTune程序则负责将这些数据显示出来。
RDC在哪里下载呢?RDC其实是跟windows下的VTune安装程序在一起的,打开VTune安装程序所在的目录,里面有个叫TarFiles的目录,里面有两个文件,一个是vt_x.x.x_rdc.tar,其中x.x.x是VTune版本号。把这个文件拷到Linux下(用WinSCP或是FTP),解压,然后运行里面的Install.sh。安装RDC也会碰到上面提到的VDK问题,同样,如果你的Linux版本不对,可能会装不上,祝你好运 :P
安装完RDC以后,要为自己的账号增加相应的权限,也就是把自己的账号加到vtune这个组里,一般是(usermod -G vtune 用户名)。然后,用自己的用户登录,然后运行 /opt/intel/vtune/bin/vtserver(这里的目录根据自己的实际情况更改,这是默认安装目录),就可以看到server is waiting之类的界面,这时就可以开启你windows下的VTune开始工作了。