- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
性能查看工具Orofile的使用
Linux性能分析工具
——gprof和Oprofile
简介
为了分析程序的性能,找出系统性能瓶颈点,有必要用相应的性能分析工具对系统的性能进分析。Linux上常用的性能分析工具有gprof和oprofile。
Gprof一般用于对用户态的程序进行简单分析
Oprofile 功能较强大适合于对复杂系统的分析
GGprof的介绍
gprof是GNU工具之一,它在编译的时候在每个函数的出入口加入了profiling的代码,运行时统计程序在用户态的执行信息,可以得到每个函数的调用次数,执行时间,调用关系等信息,简单易懂。适合于查找用户级程序的性能瓶颈,对于很多时间都在内核态执行的程序,gprof不适合。Gprof的安装与使用
gprof是gnu binutils工具之一,默认情况下linux系统当中都带有这个工具。–g –pg –o hello hello.c
运行hello,在当前目录下会产生gmon.out文件
结果分析一般有三种方式
gprof hello gmon.out -p 得到每个函数占用的执行时间
gprof hello gmon.out -q 得到call graph,包含了每个函数的调用关系,调用次数,执行时间等信息。
gprof hello gmon.out -A 得到一个带注释的“源代码清单”,它会注释源码,指出每个函数的执行次数。这需要在编译的时候增加 -g选项。profile也是一个开源的profiling工具,它使用硬件调试寄存器来统计信息,进行profiling的开销比较小,而且可以对内核进行profiling。它统计的信息非常的多,可以得到cache的缺失率,memory的访存信息,分支预测错误率等等,这些信息 gprof是得不到的,但是对于函数调用次数,它是不能够得到的。
Oprofile可以帮助用户识别诸如循环的展开、高速缓存的使用率低、低效的类型转换和冗余操作、错误预测转移等问题。它收集有关处理器事件的信息,其中包括TLB的故障、停机、存储器访问、位于 DCU(数据高速缓存单元)中的总线路数、一个 DCU 故障的周期数,以及不可高速缓存的和可高速缓存的指令的获取数量。Oprofile是一种细粒度的工具,可以为指令集或者为函数、系统调用或中断处理例程收集采样。Oprofile 通过取样来工作。使用收集到的评测数据,用户可以很容易地找出性能问题。
Oprofile的安装
Oprofile的运行需要一个内核态module和一个用户态的daemon程序。对于Linux2.6.x的内核已经集成了该module。
在安装oprofile之前,通过命令:
cat /boot/config-`uname -r` | grep OPROFILE
查看内核包含了oprofile模块,如果出现
CONFIG_HAVE_OPROFILE=yCONFIG_OPROFILE=m
这表示打开了OPROFILE,而且oprofile被编译成了一个module
CONFIG_HAVE_OPROFILE=yCONFIG_OPROFILE=m
表示支持OPROFILE,而且oprofile被编译进了内核
如果系统已经打开了oprofile,则不需要重新编译内核
下载oprofile软件包,并用tar解压
./configure --with-linux=/usr/src/linux/ --with-qt-dir=/usr/lib/qt/ --with-kernel-support
make
make installoprofile 安装完成后会生成以下工具集:
/usr/bin/oprofiled 守护进程
/usr/bin/opcontrol 控制前端,负责控制与用户交互,用得最多
/usr/bin/opannotate 根据搜集到的数据,在源码或者汇编层面上注释并呈现给用户
/usr/bin/opreport 生成二进制镜像或符号的概览
/usr/bin/ophelp 列出 oprofile 支持的事件
/usr/bin/opgprof 生成 gprof 格式的剖析数据
opstack : 产生调用图 profile ,但要求 x86/2.6 的平台,并且 linux2.6 安装了 call-graph patch oparchive : 将所有的原始数据文件收集打包,可以到另一台机器上进行分析。
op_import : 将采样的数据库文件从另一种 abi 转化成本地格式。
Oprofile使用
初始化 Sudo opcontrol --init
该命令会加载 oprofile.ko 模块, mount oprofilefs 成功后会在 /dev/oprofile/ 目录下导出些文件和目
您可能关注的文档
- 强制执行强制执中冻结扣划存款的法律适用的应用.doc
- 当今大学生旅游场的调查与其前景探望.doc
- 当今房产现状感及未来走势.doc
- 当今社会合作比争更重要.doc
- 当今时代的特点企业面临的挑战.doc
- 当代世界市场和国的对外贸易复习说课教案 新人教版必修1.doc
- 当代中国政治制基于网络终结性考核试题单项选择题(每题1分,15题共15.doc
- 当代西方社会思大纲.doc
- 当前国有煤炭企奖金管理中.doc
- 当销售经理:性究竟起着多大的决定作用.doc
- 新高考生物二轮复习讲练测第6讲 遗传的分子基础(检测) (原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第3讲 酶和ATP(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第9讲 神经调节与体液调节(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第8讲 生物的变异、育种与进化(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(检测)(原卷版).docx
文档评论(0)