韦德国际1946英国 > 计算机网络 > 计算机网络:Linux下性能监测工具

原标题:计算机网络:Linux下性能监测工具

浏览次数:156 时间:2019-10-21

计算机网络 1

有个别时候,大家特别关爱程序的习性,非常是底层软件,举个例子驱动程序,OS等。为了越来越好的优化程序品质,大家必得找到质量瓶颈点,“好钢用在刀刃上”能力得到好的效果,不然恐怕白做工作。为了找到关键路线,大家得以选用profilng本领,在linux平台上,大家能够运用gprof和oprofile 工具。

  • opreport -l /bin/bash --exclude-depand --threshold 1 , 用来开掘系统瓶颈。
  • opannotate --source --output-dir=annotated /usr/local/oprofile-pp/bin/oprofiled
  • opannotate --source --base-dirs=/tmp/build/libfoo/ --search-dirs=/home/user/libfoo/ --output-dir=annotated/ /lib/libfoo.so

    轻易的话,gprof轻易,相符于查找客户级程序的瓶颈,而oprofile稍显复杂,不过得到的音信更加多,更相符调节和测量试验系统软件。
    大家以编写翻译运营hello.c为例,来注明什么接纳那多个工具,这里不表明具体结果的含义,要想详细领会各样结果表示如何看头,能够看一下参谋资料中官方站点上的doc信息,里面会给你详细的说明。
gprof Quick Start
    gprof是gnu binutils工具之豆蔻梢头,暗中同意情状下linux系统此中都包含这几个工具。

oprofile Quick Start
    oprofile是sourceforge上面的贰个开源项目,在2.6内核上带有那些工具,好像独有smp系统才有。比较老的系统,须要团结安装,重新编写翻译内核。
    oprofile是日新月异套工具,分别实现分歧的事体。
op_help:  列出装有扶植的事件。
opcontrol:设置供给采撷的平地风波。
opreport: 对结果开展总计输出。
opannaotate:发生带注释的源/汇编文件,源语言级的讲明供给编译源文件时的支撑。
opstack:    发生调用图profile,但须要x86/2.6的平台,而且linux2.6装置了call-graph patch
opgprof:    发生如gprof相似的结果。
oparchive:  将富有的本来面目数据文件搜罗打包,能够到另大器晚成台机器上海展览中心开剖析。
op_import:  将采集样板的数据库文件从另豆蔻梢头种abi转变资金地格式。

常用的是3→7那多少个经过,获得品质数据以往,能够利用opreport, opstack, opgprof, opannotate多少个工具进行剖判,笔者常用的是opreport, opannotate进行深入分析。

  • gprof是GNU工具之风姿浪漫,它在编译的时候在各类函数的出入口参与了profiling的代码,运行时计算程序在顾客态的实践音讯,可以赢得每一种函数的调用次数,推行时间,调用关系等消息,轻易易懂。适合于查找顾客级程序的品质瓶颈,对于广大岁月都在内核态实行的次第,gprof不符合。
  • oprofile也是一个开源的profiling工具,它采取硬件调节和测验寄放器来总结音信,进行profiling的费用十分小,并且能够对基本实行profiling。它总计的新闻足够的多,能够得到cache的缺点和失误率,memory的访存音讯,分支预测错误率等等,那一个音信gprof是得不到的,不过对于函数调用次数,它是无法获得的。。
  1. opreport使用
  2. opannotate使用
  3. opgprof使用
  1. opcontrol --init  加载模块,mout /dev/oprofile 成立必得的文书和目录
  2. opcontrol --no-vmlinux 或者 opcontrol --vmlinux=/boot/vmlinux-`uname -r` 决定是还是不是对kernel进行profilingopcontrol --reset 清楚当前对话中的数据 opcontrol --start 开首profiling ./hello 运营应用程序,oprofile会对它进行profiling opcontrol --dump 把访谈到的多寡写入文件 opcontrol --stop 结束profiling
  3. opcotrol -h 关闭守护进度oprofiled
  4. opcontrol --shutdown 停止oprofiled
  5. opcontrol --deinit 卸载模块
  1. 动用 -pg 选项来编写翻译hello.c,假若要博得带注释的源码清单,则须要充实 -g 选项。运营: gcc -pg -g -o hello hello.c
  2. 运转应用程序: ./hello  会在当前目录下产生gmon.out文件
  3. 动用gprof来深入分析gmon.out文件,须求把它和产生它的应用程序关联起来:
    • gprof hello gmon.out -p 获得每一种函数占用的推行时间
    • gprof hello gmon.out -q 获得call graph,包涵了各个函数的调用关系,调用次数,实行时间等消息。
    • gprof hello gmon.out -A 获得二个带注释的“源代码清单”,它会注释源码,提议每一个函数的实践次数。这必要在编译的时候扩大-g选项。

最常用的是opreport,这些可以付出image和symbols的新闻,比方自身想获得每种函数的实施时间攻下比例等音讯,用来发掘系统脾气瓶颈。opannotate能够对源码进行注明,提出哪处占用时间很多。常用命令如下:

    运行oprofile须求root权限,因为它要加载profile模块,运行oprofiled后台程序等。所以在运营此前,就供给切换成root。

本文由韦德国际1946英国发布于计算机网络,转载请注明出处:计算机网络:Linux下性能监测工具

关键词: 伟德BV1946

上一篇:批量创建用户,批量建用户的Shell脚本

下一篇:没有了