oprofile使用方法
安装oprofile,然后加载内核模块。#modprobe oprofile,模块加载后开始使用oprofile。
1. 首先设置监视内核,使用debuginfo提供的内核,/boot下面的内核无法使用
#opcontrol --vmlinux=/usr/lib/debug/boot/vmlinux-xxxxx
如果不需要监视内核
#opcontrol --no-vmlinux
2. 启动oprofile
#opcontrol --start
3. 运行被监视的应用
# program run
4. dump监视数据
#opcontrol --dump
5. 关闭 oprofile
#opcontrol --shutdown
关闭后并对程序进行分析后可以清除上一次的监视数据
#opcontrol --reset
6. 查看结果
#opreport
或者
#opannotate -s [ -p /usr/lib/debug ]
上面这条命令可以让你查看到代码中的哪个函数的哪条语句被cpu执行次数最多,很可能就是最耗时的地方。
如果你要监视自己的模块那么,需要把*.ko放入到/usr/lib/debug中debug kernel的目录中。我自己的驱动程序和网络相关,
所以放到了/usr/lib/debug/lib/modules/2.6.32-xxxx/kernel/drivers/net/igb/ 目录下,当你使用上面的命令时
#opannotate -s -p /usr/lib/debug
就会打印出你模块代码中的语句的执行情况。opreport -l 的使用类似,也可以使用-p选项。
oprofile使用方法的更多相关文章
- 谁动了我的cpu——oprofile使用札记(转)
引言 cpu无端占用高?应用程序响应慢?苦于没有分析的工具? oprofile利用cpu硬件层面提供的性能计数器(performance counter),通过计数采样,帮助我们从进程.函数.代码层面 ...
- 谁动了我的cpu——oprofile使用札记
引言 cpu无端占用高?应用程序响应慢?苦于没有分析的工具? oprofile利用cpu硬件层面提供的性能计数器(performance counter),通过计数采样,帮助我们从进程.函数.代码层面 ...
- javaSE27天复习总结
JAVA学习总结 2 第一天 2 1:计算机概述(了解) 2 (1)计算机 2 (2)计算机硬件 2 (3)计算机软件 2 (4)软件开发(理解) 2 (5) ...
- Oprofile安装与使用探索
本文分别尝试了oprofile在x86平台和龙芯平台上的安装 一:oprofile的安装与配置(intel+ubuntu12.04) I. Oprofile 安装 Oprofile 包含在 Linux ...
- 《Linux调优工具oprofile的演示分析》
根据CPU架构oprofile采样的触发有两种模式:1) NMI模式: 利用处理器的performance counter功能, 指定counter的类型type和累进数量count. 比如 type ...
- redmine在linux上的mysql性能优化方法与问题排查方案
iredmine的linux服务器mysql性能优化方法与问题排查方案 问题定位: 客户端工具: 1. 浏览器inspect-tool的network timing工具分析 2. 浏览 ...
- 嵌入式linux应用程序调试方法
嵌入式linux应用程序调试方法 四 内存工具 五 C/C++代码覆盖.性能profiling工具 四 内存工具 您肯定不想陷入类似在几千次调用之后发生分配溢出这样的情形. 许多小组花了许许多多时间来 ...
- [odroid-pc] ubuntu12.04 64bit Android4.0.3 源码编译报错及解决的方法
第一个错误: host Executable: cmu2nuance (out/host/linux-x86/obj/EXECUTABLES/cmu2nuance_intermedia ...
- 性能测试:oprofile的学习使用
一.oprofile简介 Oprofile是linux上的性能监测工具,有人说是性能测试的神器.通过CPU硬件提供的性能计数器对事件进行采样,从代码层面分析程序的性能消耗情况,找出程序性能的问题点. ...
随机推荐
- OJ——华为编程题目:输入字符串括号是否匹配
package t0815; /* * 华为编程题目:输入字符串括号是否匹配 * 若都匹配输出为0,否则为1 * 样例输入:Terminal user [name | number (1)] * 样例 ...
- Android Metro风格的Launcher开发系列第二篇
前言: 各位小伙伴们请原谅我隔了这么久才开始写这一系列的第二篇博客,没办法忙新产品发布,好了废话不说了,先回顾一下:在我的上一篇博客http://www.cnblogs.com/2010wuhao/p ...
- How Indexes Are Stored
reference: http://docs.oracle.com/cd/B28359_01/server.111/b28318/schema.htm#CHDJGADJ 当创建索引的时候,Oracl ...
- The method getContextPath() is undefined for the type ServletContext
我出错时,到网上说得是版本问题,我找到对应的包javax-servlet5.1.12.jar,把它删了,居然不报错了,原来是和包servlet-2_5-api.jar冲突了
- ExtJs 添加员工 实例 ---- 锚点布局 anchor 可自动伸缩
代码如下: <script type="text/javascript"> Ext.onReady(function () { // 创建一条记录行, job 为 di ...
- CIFS与NFS(转)
1.CIFS Microsoft推出SMB(server message block)后,进一步发展,使其扩展到Internet上,成为common internet file system. CIF ...
- jQuery Mobile里xxx怎么用呀? (事件篇)
jQuery Mobile里$(document).ready()怎么用呀? 相关链接: http://stackoverflow.com/questions/14468659/jquery-mobi ...
- js清空web用户控件的值
假设你的用户控件里面有: <asp:DropDownList ID="DropDownList1" runat="server"> <asp: ...
- 用C#开发一个WinForm版的批量图片压缩工具
我们在实际项目开发过程中,曾经遇到过一个需求,就是要开发一个对大量图片进行整理(删除掉一些不符合要求的图片).归类(根据格式进行分类,比如jpg格式.bmp格式等).压缩(因为有的图片很大很占空间,看 ...
- 《jQuery、jQuery UI及jQuery Mobile技巧与示例》勘误收集
此书由程学彬 (http://weibo.com/ironbin)和我合译完成,此篇博客作为勘误收集而用,若译文有误或者有任何疑问,欢迎留下评论,或者给我发邮件(地址:gzooler@gmail.co ...