Xenoprof是HP公司针对OProfile工具开发的一个接口,它使得OProfile能够适用于基于Xen的虚拟环境,从而能够对内核、应用程序等的性能信息进行监控,在官网http://xenoprof.sourceforge.net/上有详细的介绍。
Xenprof的原理是:在基于Xen的虚拟环境下,可以使用Xenoprof建立一个profile的session,在这个session里可以有选择性地对多个虚拟机进行profile(包括半虚拟化安装的Linux以及以全虚拟化安装的Windows或OpenSolaris),以获取内核或应用程序的性能信息(如Cache miss, TLB miss, etc)。
? 具体安装过程如下:
1. 从http://oprofile.sourceforge.net/上下载oprofile-0.9.5.tar.gz(不是Oprofile的最新版本0.9.6,Xen现在只支持到这个版本) ;
2. 从Xenoprof官方网站http://xenoprof.sourceforge.net/上下载oprofile-0.9.5-xen.patch;
3.将oprofile-0.9.5.tar.gz与oprofile-0.9.5-xen.patch放在同一个目录。
解压oprofile并打补丁:
tar xzvf oprofile-0.9.5.tar.gz
cd oprofile-0.9.5
patch -p1 <../oprofile-0.9.5-xen.patch;
4. 执行./configure --with-kernel-support命令进行编译前的配置
期间会碰到两个错误:
configure: error: popt library not found
configure: error: liberty library not found
解决办法:sudo apt-get install libpopt-dev binutils-dev
5. 配置好以后执行:
make
sudo make install
即可完成OProfile的安装.
除此之外,还需要重新编译内核以添加对Oprofile的支持。
重新编译Xen化内核并添加Oprofile支持
如果你还未安装Xen,推荐你可以将二者一起完成,安装Xen-4.0.1参见:http://www.linuxidc.com/Linux/2011-07/39259.htm
接1.4小结:
进入配置界面,加入xen的配置:
$ make menuconfig
General setup --->
<*> OProfile system profiling (EXPERIMENTAL)
//添加Oprofile支持
Processor type and features --->
[*] Enable Xen compatible kernel
Networking support --->
Networking options --->
<*> 802.1d Ethernet Bridging
Device Drivers --->
XEN --->
[*] Privileged Guest (domain 0)
<*> Backend driver support
<*> Block-device backend driver
<*> Block-device tap backend driver
<*> Block-device tap backend driver 2
<*> Network-device backend driver
<*> PCI-device backend driver
<*> SCSI backend driver
<*> USB backend driver
<*> Block-device frontend driver
<*> Network-device frontend driver
<*> SCSI frontend driver
<*> USB frontend driver
<*> Framebuffer-device frontend driver
<*> Keyboard-device frontend driver
[*] Disable serial port drivers
<*> Export Xen attributes in sysfs
Xen version compatibility (3.3.0 and later) --->
3.3.0 and later
后面的编译配置过程按照原来的步骤来即可。