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

来源:互联网 发布:linux下安装oracle 编辑:程序博客网 时间:2024/05/16 13:44

  • 作者:邹祁峰
  • 邮箱:Qifeng.zou.job@hotmail.com
  • 博客: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]"错误,且无法启动虚拟机!


图1 设置磁盘模式

二、配置内核

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

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

三、内核替换

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

四、其他配置

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

#opreport -l ./a.outOverflow stats not availableerror: 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
原创粉丝点击