Linux高级系统级性能分析工具-perf.pdf

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux高级系统级性能分析工具-perf

Linux 的系统级性能剖析工具‐perf  (二)  承刚   TAOBAO  Kernel Team  chenggang.qin@    第三章  Perf top 工具  3.1  perf top 的基本使用方法  top 工具主要用于实时剖析各个函数在某个性能事件上的热度。利用perf  top ,能够直观地观察到当前的热点函数,并利用工具中内置的annotate 功能, 进一步查找热点指令。    图3. perf top 的界面  Perf top 的基本使用方法为:  $perf top  该命令以默认性能事件“cycles (CPU 周期数)”进行全系统的性能剖析,检 测系统中的所有应用程序函数与内核函数的热度。图3 为上述命令的执行结果。  perf 提供了3 种用户界面,分别是tui ,gtk 以及tty 。其中可操作性最强, 功能最丰富的界面是tui ,本文主要基于此界面讲解perf。top 工具仅支持tui 与 tty ,默认界面为tui 。图3 中展示的就是tui 界面。  top 工具的界面具有4 列信息。右面第一列为符号名,也就是函数名。左面 第一列为该符号引发的性能事件在整个监测域中占的比例,我们将其称为该符号 的热度。监测域是指perf 监控的所有符号。默认情况下包括系统中所有进程、 内核以及内核模块的函数。左面第二列为该符号所在的DSO。DSO 即动态共享对 象(Dynamic Shared Object)的缩写。第3 列为DSO 的类型。perf 中DSO 共有5 种类型,分别是:ELF 可执行文件,动态链接库,内核,内核模块,VDSO 等。 当第3 列为  [.]时表示此符号属于用户态的ELF 文件(包括可执行文件与动态链 接库)。为[k]表示此符号属于内核或内核模块。  需要提一下的是,必须在系统安装newt 软件包,perf 才能使能tui 界面。    在tui 界面下按h ,?或F1键时,会弹出一个帮助窗口,如图4 所示。    图4. tui 界面的帮助窗口    帮助窗口列出了perf top 的所有功能。我们首先来看注解(Annotate)功能。 注解功能可以进一步深入分析某个符号。给出对应线程的代码并且为热点代码标 记出它们触发的性能事件在整个测试域中的百分比。下面让我们来看一下如何使 用注解功能。在界面上按上下键,将光标在各个symbol 间移动。选定某个符号 后,按下a 键,得到如图5 所示的界面。    图5. perf top 的注解功能    图5 显示的是[code1] 中do_pi() 函数的注解。从图上可以看到perf 对do_pi() 中的C 代码给出了汇编语言的注解。并且给出了各条指令的采样率。从图上可以 看到耗时较多的指令(如访存指令)比较容易被perf 采到。    选定某个符号后按下热键’d’ ,perf 会过滤掉所有不属于此DSO 的文件。以图 1 中的实验为例,符号do_pi 归属的DSO 为thread

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档