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

性能分析与调优: Linux 实现 CPU剖析与火焰图

目录

一、实验

1.环境

2.CPU 剖析

3.CPU火焰图


一、实验

1.环境

(1)主机

表1-1 主机

主机架构组件IP备注
prometheus

监测

系统

prometheus、node_exporter 192.168.204.18
grafana监测GUIgrafana192.168.204.19
agent 

监测

主机

node_exporter192.168.204.20

2.CPU 剖析

(1)CPU剖析

① 命令

使用perf命令在所有CPU(-a)以上49GHz(-F 49:每秒采样数)对栈踪迹(-g)采样30秒,列出样本然后导出到指定文件

[root@prometheus ~]# perf record -F 49 -a -g -- sleep 10; perf script --header > out.stacks

②分析

在这次剖析中有2917个栈样本,这里只包括一个栈。

③ 查看并统计行数

[root@prometheus FlameGraph-master]# vim ~/out.stacks 

④ 统计行数

[root@prometheus FlameGraph-master]# wc -l ~/out.stacks 

3.CPU火焰图

(1)开源软件构建

① 克隆或直接下载ZIP

git clone https://github.com/brendangregg/FlameGraph; cd FlameGraph

②查看目录

[root@prometheus ~]# ls

③分析

perf的script子命令打印了先前记录 的剖析(perf.data文件)中的每个栈样本FlameGraph-master.zip为上传的开源软件包 

④ 解压

[root@prometheus ~]# unzip FlameGraph-master.zip 


⑤再次查看目录

[root@prometheus ~]# ls

 ⑥切换目录查询

[root@prometheus ~]# cd FlameGraph-master/
[root@prometheus FlameGraph-master]# ls

⑦ 分析

flamegraph.pl为不同的语言提供了自定义的调色板

⑧执行并查看

[root@prometheus FlameGraph-master]# ./stackcollapse-perf.pl < ~/out.stacks | ./flamegraph.pl --hash > out.svg
[root@prometheus FlameGraph-master]# ls

⑨ 分析

生成的out.svg文件可以在网络浏览器中加载

⑩ Linux可视化界面查看目录

⑪查看out.svg 

⑫另外查看自带的perf样例

⑬另外查看自带的dtrace样例


 

http://www.lryc.cn/news/275937.html

相关文章:

  • leetcode动态规划问题总结 Python
  • strtok函数的介绍
  • CF1909_C. Heavy Intervals题解
  • 【Python机器学习】理论知识:决策树
  • 天软特色因子看板 (2024.01 第2期)
  • java智慧医院互联网智慧3D导诊系统源码,经由智慧导诊系统多维度计算,准确推荐科室
  • WiFi7: MLD寻址
  • laravel-admin之 浏览器自动填充密码(如果需要渲染数据库密码的话,首先确认数据库密码是否可以逆向解密)
  • jquery图形验证码
  • dp专题10 目标和
  • 详解 docker 镜像制作的两种方式
  • selenium元素单击不稳定解决方法
  • vue3中vite使用sass
  • centos 8.0 安装sysbench 1.0.17
  • LabVIEW开发分布式光纤油气管道泄漏检测及预警系统
  • Go后端开发 -- Go Modules
  • 基于det_keypoint_unite的ROS功能包(jetson部署)
  • TS 36.211 V12.0.0-下行(8)-调制和上变频
  • 基于SSM酒店后台管理系统【源码】【最详细运行文档】
  • 利用Python实现每日新闻早报推送
  • 图像分割-Grabcut法
  • 性能测试浅谈
  • 媒体运营常用的ChatGPT通用提示词模板
  • Java学习苦旅(二十一)——泛型
  • 具备闭环思维的测试才更充分
  • flask web学习之模板(一)
  • RedisInsight - Redis官方可视化工具
  • Matlab定义函数计算斐波那契数列
  • 计算机网络面试题总结
  • 视频转为序列图的软件,让视频批量转为序列图