Linux虚拟机上安装性能测试工具OProfile

  • 作者:邹祁峰
  • 邮箱:[email protected]
  • 博客:http://blog.csdn.net/qifengzou
  • 日期:2012.12.03
  • 转载请注明来自"祁峰"的CSDN博客


  OProfile是Linux平台支持的一款功能强大的性能分析工具。网络上很多关于如何安装在虚拟机上安装OProfile的文章,但很多都存在抄袭来抄袭去且并不能安装成功。现经本人整理和实验后,现将OProfile在Linux虚拟机上的安装过程分享之。

一、安装虚拟机

  为了保证虚拟机能够正常启动,在安装虚拟机的过程中,请将磁盘模式设置为IDE。否则,升级内核后,将会报"pci 18.2: no compatible bridge window for [io 0xf000-0xffff]"错误,且无法启动虚拟机!

Linux虚拟机上安装性能测试工具OProfile_第1张图片

图1 设置磁盘模式

二、配置内核

  内核的配置可参考博文《Linux内核升级》,配置完成后,再对内核配置文件.config进行如下修改:

// 加上OPROFILE配置
CONFIG_PROFILING=y
CONFIG_OPROFILE=m(注:m表示编译为模块,y表示编译到内核中)
CONFIG_OPROFILE_EVENT_MULTIPLEX=y
 
// 加上APIC配置
CONFIG_X86_IO_APIC=y
CONFIG_X86_LOCATE_APIC=y
CONFIG_PCI_IOAPIC=y

三、内核替换

  有了①、②的配置之后,便可进行内核的编译和替换了(注:可参考博文《Linux内核升级》)

四、其他配置

  内核升级完成后,这时使用OProfile会报如下错误:

#opreport -l ./a.out
Overflow stats not available
error: no sample files found: profile specification too strict?

解决方案:

#opcontrol --deinit
#modprobe oprofile timer=1
#echo "options oprofile timer=1" >> /etc/modprobe.conf

⑤、执行过程

// 加载模块
#opcontrol --init 

// 是否对内核进行测试(一般不测试内核)
#opcontrol --no-vmlinux

// 重置测试数据
#opcontrol --reset

// 开始
#opcontrol --start

// 运行程序(注:可执行文件编译时,需加上编译选项-g)
#./a.out

// 把收集到的数据写入文件
#opcontrol --dump

// 停止
#opcontrol --stop

// 关闭守护进程
#opcontrol --shutdown

// 卸载模块
#opcontrol --deinit

// 源码时间分析
#opannotate --source ./a.out

// 生成测试报告
#opreport -l ./a.out

你可能感兴趣的:(Linux虚拟机上安装性能测试工具OProfile)