gprofoprofile分析linux程序性能瓶颈

gprofoprofile分析linux程序性能瓶颈

ID:8908003

大小:10.63 KB

页数:2页

时间:2018-04-11

gprofoprofile分析linux程序性能瓶颈_第1页
gprofoprofile分析linux程序性能瓶颈_第2页
资源描述:

《gprofoprofile分析linux程序性能瓶颈》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、gprof&&oprofile分析linux程序性能瓶颈有些时候,我们特别关注程序的性能,特别是底层软件,比如驱动程序、OS等。为了更好的优化程序性能,我们必须找到性能瓶颈点,“好钢用在刀刃上”才能取得好的效果,否则可能白做工作。为了找到关键路径,我们可以使用profilng技术,在linux平台上,我们可以使用gprof和oprofile工具。gprof是GNU工具之一,它在编译的时候在每个函数的出入口加入了profiling的代码,运行时统计程序在用户态的执行信息,可以得到每个函数的调用次数、执行时间、调用关系等信息,简单易懂。适合于查找用户级程序的性能瓶颈,对于很多时间都在

2、内核态执行的程序,gprof不适合。oprofile也是一个开源的profiling工具,它使用硬件调试寄存器来统计信息,进行profiling的开销比较小,而且可以对内核进行profiling。它统计的信息非常的多,可以得到cache的缺失率,memory的访存信息,分支预测错误率等等,这些信息gprof是得不到的,但是对于函数调用次数,它是不能够得到的。。简单来说,gprof简单,适合于查找用户级程序的瓶颈,而oprofile稍显复杂,但是得到的信息更多,更适合调试系统软件。Gprof使用方法1..编译,使用-pg选项编译和链接程序gcc-pg-otesttest.c2.运行

3、test,test运行的时候会把搜集的信息保存在gmoun.out中./test3.显示结果Gproftest注意事项:1.fedora不能使用-lc_p选项的问题一般gprof只能查看用户函数信息。如果想查看库函数的信息,需要在编译是再加入“-lc_p”编译参数代替“-lc”编译参数,这样程序会链接libc_p.a库,才可以产生库函数的profiling信息。然而在fedora等操作系统中没有安装glibc-profile,加上-lc_p选项后会报出如下错误:/usr/bin/ld:cannotfind-lc_p。因此需要下载安装glibc-profile,下载地址http:/

4、/ftp.riken.jp/Linux/fedora/core/updates/2/i386/glibc-profile-2.3.3-27.1.i386.rp。2.gprof只能在程序正常结束退出之后才能生成程序测评报告,原因是gprof通过在atexit()里注册了一个函数来产生结果信息,任何非正常退出都不会执行atexit()的动作,所以不会产生gmon.out文件。如果你的程序是一个不会退出的服务程序,那就只有修改代码来达到目的。如果不想改变程序的运行方式,可以添加一个信号处理函数解决问题(这样对代码修改最少),例如:   staticvoidsighandler(ints

5、ig_no)   {   exit(0);   }   signal(SIGUSR1,sighandler);当使用kill-USR1pid后,程序退出,生成gmon.out文件。oprofile使用1.opcontrol--init2.opcontrol--no-vmlinux3.opcontrol--event=CPU_CLK_UNHALTED:50004.opcontrol--status5.opcontrol--separate=kernel--separate=lib分开记录每个程序的性能开销6.opcontrol--dump7.opcontrol--stop8.opr

6、eport-l

7、grep"appname"9.opcontrol--shutdown更多资料http://oprofile.sourceforge.net/examples/http://oprofile.sourceforge.net/docs/http://blog.csdn.net/Gengoo/archive/2010/01/28/5265930.aspxhttp://www.ibm.com/developerworks/cn/linux/l-oprof/http://blog.csdn.net/kofshower/archive/2010/01/22/5223700.a

8、spx

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。