oprofile setup

来源:互联网 发布:java购物车生成订单 编辑:程序博客网 时间:2024/05/29 15:23
http://oprofile.sourceforge.net/download/
yum install popt-devel
yum install binutils-devel
./configure; make; make install;
http://hi.baidu.com/aixindan/item/a524430f5a6c37c774cd3c76
oprofile的manual
http://oprofile.sourceforge.net/doc/index.html

oprofile的使用
http://oprofile.sourceforge.net/examples/

opcontrol 命令
opcontrol 选项 描述
--list-events 列出处理器事件和单元屏蔽(unit mask)
--vmlinux=<kernel image> 将要分析的内核镜像文件
--no-vmlinux 不分析内核
--reset 清除当前会话中的数据
--setup 在运行守护进程之前对其进行设置
--event=<processor event> 监视给定的处理器事件
--start 开始取样
--dump 使数据流到守护进程中
--stop 停止数据取样
-h 关闭守护进程

oprofile在manual中说支持linux kernel以及modules,而且还是在default的情况下就开启了对modules的支持。
由于oprofile的默认输出产生在/var/lib/oprofile下,因此如果/var是单独挂载点的话要保证有足够的空间(在skysan1500上/var就是单独挂载的)

opcontrol --init
opcontrol --separate=kernel --vmlinux=/usr/src/***/kernel
opcontrol --reset 清除当前会话中的数据
opcontrol --start 开始profiling
执行相应的操作,比如dd if=/dev/zero of=/dev/asd0 count=512 bs=32M oflag=direct
opcontrol --dump 把收集到的数据写入文件 (缺省数据保存在/var/lib/oprofile)
opcontrol --stop 停止profiling
opcotrol -h 关闭守护进程oprofiled
opcontrol --shutdown 停止oprofiled
opcontrol --deinit 卸载模块

以上过程中需要注意的几点有:
1。--vmlinux指定的内核必须是没有被压缩过的原始的文件
2。--vmliunx指定的内核必须是当前系统运行的内核
3。在要对kernel以及modules进行测试时,--vmlinux必须要指定内核

opreport 命令获得测试的结果
opreport --symbols --image-path=/lib/modules/***/kernel/,此路径为要测试的Modules安装的路径


原创粉丝点击