oprofile二三事


oprofile是调试系统瓶颈的利器,利用它,可以分析得到当前系统所有函数的各种信息,如CPU占用率等。

编译与安装

Pelco的SVN库中已经导入了oprofile,它位于:微笑

http://svn.pelco.org/repos/omons-3rdparty/oprofile-0.9.4/

只要将它checkout出来,然后直接ombuild build, ombuild install即可使用。例如:

cd ~/local182/omons-3rdparty/
svn checkout http://svn.pelco.org/repos/omons-3rdparty/oprofile-0.94/
ombuild distclean
ombuild configure -propertyfile /mnt/wormhole/home/jeff/local182/imaging-products/kingfisher/8310/branches/kingfisher_dev/build.conf
ombuild build
ombuild install



通过以上命令,即可安装oprofile的可执行程序到我们的buildfs中。

尽管已经完成安装,但要想运行oprofile还需有些步骤要做,包括内核支持和库支持。

oprofile需要内核支持,我们的内核已经把oprofile设定为m模块加载了,我没有在buildfs中找到对应的模块,因此重编了内核,将此处设置为y然后编译。特别需要注意的,DM368的编译过程中会调用一个make checksetconfig,此命令会将scripts/kconfig/baseconfig中的选项强制加载到.config中,因此对于oprofile编译选项,我们需要修改的是baseconfig文件,而不是arch/arm/configs/pelco_kingfisher_defconfig文件。

运行oprofile还需要一些库文件的支持,实验及oprofile下的说明文档获知,以下库都需要被放到buildfs的对应目录中:

usr/lib/libbfd-2.17.50.20070611.so

usr/lib/libopcodes-2.17.50.20070611.so

usr/bin/objdump

usr/lib/debug

这些文件都可以在我们的编译器/monta-vista-5.0.0/pro/devkit/arm/v5t_le/target/usr/中被找到,完成上述文件的拷贝后,oprofile就可以正确的运行了。

使用简介

oprofile包括了一组命令,如opcontrol, opreport等等,不同的命令完成不同的功能。参考各种开源资料获取oprofile的各类功能。我使用oprofile的过程为:
1. opcontrol --init   //初始化oprofile
2. opcontrol --non-vmlinux或者--vmlinux=/boot/vmlinux   //设置需要分析的数据类型,最常见的就是是否要包括内核
3. opcontrol --start   //启动oprofile开始采集信息
4. 运行你自己的程序,根据程序的实际情况选择前台运行或者后台运行
5. opcontrol --reset   //相当于数据采集器清零,重新缓存数据,此命令可能会和4调换顺序,完全要看你准备测试什么样的程序。
6. opcontrol --dump   //dump出采集的数据
7. opcontrol --stop   //关闭oprofile,完成整个数据采集过程
8. opreport -l   //列出本次采集的所有函数占用CPU的情况。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值