免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4468 | 回复: 0
打印 上一主题 下一主题

oprofile的使用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-06-19 17:26 |只看该作者 |倒序浏览

一、Oprofile简介
       Oprofile 是用于 Linux 的若干种评测和性能监控工具中的一种。它可以工作在不同的体系结构上,包括 IA32, IA64 和 AMD Athlon 系列。它的开销小,被包含在(Linux)2.6 版的内核中。
       Oprofile可以帮助用户识别诸如循环的展开、高速缓存的使用率低、低效的类型转换和冗余操作、错误预测转移等问题。它收集有关处理器事件的信息,其中包括TLB的故障、停机、存储器访问、位于 DCU(数据高速缓存单元)中的总线路数、一个 DCU 故障的周期数,以及不可高速缓存的和可高速缓存的指令的获取数量。Oprofile是一种细粒度的工具,可以为指令集或者为函数、系统调用或中断处理例程收集采样。Oprofile 通过取样来工作。使用收集到的评测数据,用户可以很容易地找出性能问题。

二、配置Oprofile

2.1监视内核
首先,配置 OProfile 是否应该监视内核。这是在启动 OProfile 前唯一所需的配置选项。其它选项都是可选的。 要监视内核,以根用户身份执行以下命令:
opcontrol --vmlinux=/boot/vmlinux-`uname -r`
要配置 OProfile 不监视内核,以根用户身份执行以下命令:
opcontrol --no-vmlinux
这个命令还会载入 oprofile 内核模块(如果还没有被载入),并创建 /dev/oprofile/ 目录(如果不存在)。 设置样品是否应在内核中收集只会改变所收集的数据,而不会改变收集数据的方法或贮存地点。

2.2选择监视的事件
       Oprofile有多个计数器。计数器的事件都可以通过命令行被配置,也可以使用图形化界面配置。如果计数器没有被设置给指定的事件,错误消息就会被显示。 要通过命令行来为每个可配置的计数器设置事件,使用 opcontrol:
       opcontrol --ctrlN-event=
       把 N 替换成计数器号码(从0开始),把  替换成 op_help 中显示的确切事件名称。

三、收集数据
启动监测
opcontrol --start
运行用户程序
yourapplication
停止采样
opcontrol --stop
导出剖析数据
opcontrol –dump

四、分析结果
以运行k_select.c为例。果想要查看每个函数的运行时间,则使用如下的命令:
opcontrol  --no-vmlinux
opcontrol --start
gcc –g –o k k_select.c
./k
opreport -l ./k

[root@localhost openmp]# opreport -l ./k
CPU: P4 / Xeon, speed 2400.25 MHz (estimated)
Counted GLOBAL_POWER_EVENTS events (time during which processor is not stopped) ry) count 100000
samples  %        image name               symbol name
1873843  99.9170  k                        find
1361      0.0726  anon (tgid:3480 range:0x54c000-0x54d000) (no symbols)
180       0.0096  k                        .plt
15       8.0e-04  k                        main

       这样opreport工具就会打印出运行k时应用程序中具体每个函数占用cpu时间的百分比。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/86537/showart_1970513.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP