当前位置: 首页 > 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.yayakq.cn/news/669061/

相关文章:

  • 平面设计是干什么的?抖音seo是什么
  • 广州建站快车电子商城网站建站客
  • 企业网站建设套餐价格access网站开发
  • 网上宿迁官方网站制作文件的软件
  • 教育类网站建站商城网站开发技术有哪些
  • 网站开发平台及常用的开发工具微信朋友圈广告代理
  • 传奇游戏网站wordpress 站群插件
  • 即刻搜索收录网站时事新闻热点
  • 建设工程人员押证在哪个网站查盐山县网站建设公司
  • 企业网站改自适应织梦仿非织梦网站
  • 提高网站粘性wordpress 外贸 模板
  • 制作网站后台教程互联网营销设计
  • 禄丰网站建设成都关键词排名推广
  • 如何在网站后台删除栏目西安seo
  • net的网站建设seo优化及推广如何运营
  • 做山西杂粮的网站网站建设的书籍有哪些
  • 做易经网站信用中国 网站谁建设的
  • 怎么做公司网站优化网站推广描述
  • 音平商城谁做的网站wordpress主题lovephoto2.0.1
  • 长沙专业网站制作设计小程序制作样式
  • 深圳微信分销网站制作国外对旅游网站建设的现状
  • 安徽省教育基本建设学会网站平面设计app推荐
  • 可以做兼职的网站推荐家装网站自己做的
  • 网站更换空间教程民宿网站开发数据流图
  • 重庆大学建设管理与房地产学院网站企业做官网
  • 建湖做网站需要多少钱asp.net网站改版 旧网站链接
  • 中国建设银行福州招聘信息网站做微网站公司名称
  • 专业的学校网站建设沈阳公司网站设计公司
  • 交通信用网站建设优惠券网站怎样做
  • 义乌做网站的电话wordpress目录权限设置