当前位置: 首页 > news >正文

深圳网站设计+建设首选长沙谷歌优化

深圳网站设计+建设首选,长沙谷歌优化,网站建设文件夹布局,房地产公司排名前十Linux 浅谈之性能分析工具 perf HELLO,各位博友好,我是阿呆 🙈🙈🙈 这里是 Linux 浅谈系列,收录在操作系统专栏中 😜😜😜 本系列将记录一些阿呆个人整理的 OS 相关知识…

Linux 浅谈之性能分析工具 perf

HELLO,各位博友好,我是阿呆 🙈🙈🙈

这里是 Linux 浅谈系列,收录在操作系统专栏中 😜😜😜

本系列将记录一些阿呆个人整理的 OS 相关知识 🏃🏃🏃

OK,兄弟们,废话不多直接开冲 🌞🌞🌞


一 🏠 概述

什么是 PERF

perf 是一个 Linux 性能分析工具,它利用 PMU、tracepoint 和内核计数器来进行性能统计

内核计数器是一个基于内核的子系统,它提供一个性能分析框架,比如硬件(CPU、PMU( Performance Monitoring Unit ) 功能和软件 (软件计数器、tracepoint) 功能


什么是 PMU

性能监视单元(Performance Monitor Unit),CPU 提供的一个单元(硬件),通过访问相关寄存器读取 CPU 的一些性能数据

内存读写很快,但是无法和处理器指令执行速度相比。cache 是一种 SRAM,读写速度非常快,能和处理器相匹配。因此将常用的数据保存在 cache 中,处理器便无需等待,从而提高性能


tracepoints

tracepoints 是内核源码中的一些 hook,在特定代码被执行时触发,该特性可被各种trace/debug 工具所使用

perf 将 tracepoint 时间记录下来,生成报告,分析这些报告,调优人员便可以了解程序运行期间内核的各种细节,tracepint 对应的 sysfs 节点在 /sys/kernel/debug/tracing/events 目录

PERF 整体架构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WGmW4F2f-1677034090822)(E:\2022年MD文档\2023 年 MD文档\二月\操作系统\Linux 浅谈之性能分析工具 perf.assets\1676896375395.png)]


二 🏠 核心

PERF 使用

事件分为三种

  • Hardware Event PMU 部件产生,探测性能事件的发生次数(如 cache 命中)
  • Software Event 内核产生,统计和操作系统性能相关事件(如 进程切换)
  • Tracepoint Event 静态 tracepoint 触发事件(判断程序运行期内核行为,分配器分配次数)

perf --help 可看到 perf 二级命令


perf list

perf list查看当前系统支持的性能事件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xa9XIrMe-1677034090823)(E:\2022年MD文档\2023 年 MD文档\二月\操作系统\Linux 浅谈之性能分析工具 perf.assets\1676897086463.png)]


perf top

perf top 类似 top 命令,实时分析各函数在某性能事件的热度,快速定位热点函数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z0F26RBE-1677034090824)(E:\2022年MD文档\2023 年 MD文档\二月\操作系统\Linux 浅谈之性能分析工具 perf.assets\1676897154333.png)]


perf stat

用于输出指定程序的性能统计数据

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yLFgteQJ-1677034090824)(E:\2022年MD文档\2023 年 MD文档\二月\操作系统\Linux 浅谈之性能分析工具 perf.assets\1676897212741.png)]


perf record

perf record 收集采样信息,并记录在文件中,可离线分析

常用方式 perf record

-e 指定事件

-p 指定进程

-g 生成调用关系(类似gcc中-g)

-o 输出文件名


更多参数参考 perf record --help

perf report

perf report 分析 perf record 生成的 perf.data 文件

常用参数:-i:指定输入文件


火焰图制作与解读

火焰图是基于 perf 结果产生的 SVG 图片,用来展示 CPU 的调用栈

y 轴表示调用栈,每一层是一个函数,调用栈越深,火焰就越高,顶部就是正在执行的函数,下方都是它的父函数

x 轴表示抽样数,如果一个函数在 x 轴占据的宽度越宽,就表示它被抽到的次数多,即执行的时间长(x 轴不代表时间,而是所有的调用栈合并后,按字母顺序排列的)

火焰图就是看顶层的哪个函数占据的宽度最大。只要有 平顶,就表示该函数可能存在性能问题

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uygcmEr3-1677034090825)(E:\2022年MD文档\2023 年 MD文档\二月\操作系统\Linux 浅谈之性能分析工具 perf.assets\1676897438542.png)]


常用操作

先用 top -Hp + 进程号
执行 SQL, 占用 CPU 最高的那个线程号应该就是要抓的线程
用 perf record -g --call-graph dwarf -e cpu-clock -F 1000 -t 线程号 -o perf.data 
抓取, 等 SQL 结束 ctrl + c 结束掉
用 perf report -i perf.data --no-ch //查看data文件内容

三 🏠 结语

身处于这个浮躁的社会,却有耐心看到这里,你一定是个很厉害的人吧 👍👍👍

各位博友觉得文章有帮助的话,别忘了点赞 + 关注哦,你们的鼓励就是我最大的动力

博主还会不断更新更优质的内容,加油吧!技术人! 💪💪💪

http://www.dt0577.cn/news/41858.html

相关文章:

  • 韩国做 mp4下载网站发帖效果好的网站
  • 电商网站的模块百度首页关键词优化
  • 企业网站建设收费标准百度关键词推广怎么做
  • 网站建设的规模与类别中国刚刚发生8件大事
  • 建站需要哪些东西百度自媒体怎么注册
  • 合肥网站制作公司有哪些公司太原seo网络优化招聘网
  • 1sose wordpress东莞百度推广排名优化
  • 游戏app开发网站优化查询代码
  • SEO优化之如何做网站URL优化域名查询网入口
  • 响应式网站设计开发什么是seo网站优化
  • 做网站侵权谷歌浏览器官网入口
  • 网站底部悬浮全达seo
  • 自己做的网站怎么发布到百度网推是干什么的
  • 智联招聘网站可以做两份简历吗优化设计官网
  • 重庆做网站 哪个好些嘛新媒体运营主要做什么
  • 做网站用图片算侵犯著作权吗如何优化百度seo排名
  • 国外旅游哪几个网站做攻略好百度网址大全 简单版
  • so域名的网站有哪些不收费推广网站有哪些
  • 东莞系统网站建设上海搜索推广
  • 在北京网站建设的岗位职责seo课程排行榜
  • 网站建设一般预付比例多少淘宝友情链接怎么设置
  • 海南高端网站建设网站前期推广
  • 网站验收时项目建设总结报告seo的方法
  • 网站建设公司图片网站优化网站
  • 项目经理证书郑州seo外包顾问热狗
  • 手机网站建设新闻百度推广要多少钱
  • 开发者 电影seo顾问咨询
  • 建站要多少钱2021百度模拟点击工具
  • 山东住建局和城乡建设厅官网seo优化网站的手段
  • 新网站如何做营销购物网站推广方案