- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
opreport, opannotate分析
得到性能数据之后,可以使用 opreport, opstack, opgprof, opannotate几个工具进行分析.opreport分析。运行oprofile需要root权限,因为它要加载profile模块,启动oprofiled后台程序等。所以在运行之前,就需要切换到root。opcontrol --init 加载模块,mout /dev/oprofile 创建必需的文件和目录 opcontrol --no-vmlinux 或者 opcontrol --vmlinux=/boot/vmlinux-`uname -r` 决定是否对kernel进行profiling : # opcontrol?--separate=thread?--no-vmlinuxseparate选项值含义none默认值lib对每个应用程序的所有lib进行采样kernel对每个应用程序的内核及内核模块采样thread对每个线程或任务采样cpu对每个CPU进行采样all以上所有选项的功能opcontrol --reset 清楚当前会话中的数据 opcontrol --start 开始profiling ./hello 运行应用程序,oprofile会对它进行profiling opcontrol --dump 把收集到的数据写入文件 opcontrol --stop 停止profiling opcotrol -h 关闭守护进程oprofiled opcontrol --shutdown 停止oprofiled opcontrol --deinit 卸载模块常用的是3→7这几个过程,得到性能数据之后,可以使用opreport, opstack, opgprof, opannotate几个工具进行分析,我常用的是opreport, opannotate进行分析。Opreport命令:第一列是虚拟内存地址(vma)的起点。第二列是该符号的样品数量。第三列是该符号的样品和该可执行文件的总体样品的百分比。第四列是符号的名称vma samples % symbol name--accumulated / -a Accumulate sample and percentage counts in the symbol list. --callgraph / -c Show callgraph information. --debug-info / -g Show source file and line for each symbol. --demangle / -D none|normal|smart none: no demangling. normal: use default demangler (default) smart: use pattern-matching to make C++ symbol demangling more readable. --details / -d Show per-instruction details for all selected symbols. Note that, for binaries without symbol information, the VMA values shown are raw file offsets for the image binary. --exclude-dependent / -x Do not include application-specific images for libraries, kernel modules and the kernel. This option only makes sense if the profile session used --separate. --exclude-symbols / -e [symbols] Exclude all the symbols in the given comma-separated list. --global-percent / -% Make all percentages relative to the whole profile. --help / -? / --usage Show help message. --image-path / -p [paths] Comma-separated list of additional paths to search for binaries. This is needed to find modules in kernels 2.6 and upwards. --root / -R [path] A path to a fil
文档评论(0)