The Way of the great learning involves manifesting virtue, renovating the people, and abiding by the highest good.

2008年12月26日星期五

Intel VTune

最近一直在做程序的性能调试方面的工作,主要工具就是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开始工作了。 http://www.sinzy.net/Blog/Read.asp?ID=77&BID=12636

没有评论: