基于perf top分析mysql数据库性能消耗在哪个函数

概述

perf 是一个调查 Linux 中各种性能问题的有力工具,perf中包含了:perf-stat (perf stat), perf-top (perf top), perf-record (perf record), perf-list (perf list),而perf top主要用于实时分析各个函数在某个性能事件上的热度,能够快速的定位热点函数,包括应用程序函数、模块函数与内核函数,甚至能够定位到热点指令。默认的性能事件为cpu cycles。

1、perf top

常用交互命令:
h:显示帮助
UP/DOWN/PGUP/PGDN/SPACE:上下和翻页。
a:annotate current symbol,注解当前符号。能够给出汇编语言的注解,给出各条指令的采样率。
d:过滤掉所有不属于此DSO的符号。非常方便查看同一类别的符号。
P:将当前信息保存到perf.hist.N中。

常用命令行参数:
-e :指明要分析的性能事件。
-p :Profile events on existing Process ID (comma sperated list). 仅分析目标进程及其创建的线程。
-k :Path to vmlinux. Required for annotation functionality. 带符号表的内核映像所在的路径。
-K:不显示属于内核或模块的符号。
-U:不显示属于用户态程序的符号。
-d :界面的刷新周期,默认为2s,因为perf top默认每2s从mmap的内存区域读取一次性能数据。
-g:得到函数的调用关系图。
perf top -g [fractal],路径概率为相对值,加起来为100%,调用顺序为从下往上。
perf top -g graph,路径概率为绝对值,加起来为该函数的热度。

2、常用命令

perf top -g -p  `pidof mysqld`

输出结果:
在这里插入图片描述
第一列:符号引发的性能事件的比例,默认指占用的cpu周期比例。
第三列:符号所在的DSO(Dynamic Shared Object),可以是应用程序、内核、动态链接库、模块。
第四列:DSO的类型。[.]表示此符号属于用户态的ELF文件,包括可执行文件与动态链接库)。[k]表述此符号属于内核或模块。
第五列:符号名。有些符号不能解析为函数名,只能用地址表示。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

淡定波007

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值