性能分析与调优: 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.mzph.cn/news/606172.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【AI视野·今日CV 计算机视觉论文速览 第284期】Fri, 5 Jan 2024

AI视野今日CS.CV 计算机视觉论文速览 Fri, 5 Jan 2024 Totally 62 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computer Vision Papers Learning to Prompt with Text Only Supervision for Vision-Language Models Authors Muhammad Uzair Khattak, Muhammad F…

jenkins忘记admin密码

jenkins忘记admin密码&#xff0c;重置密码&#xff1a; 1.找打jenkins目录下面的config.xml [rootVM-0-15-centos .jenkins]# find ./* -name config.xml ./config.xml [rootVM-0-15-centos .jenkins]# pwd /root/.jenkins删除下面的这部分内容&#xff1a; [rootVM-0-15-c…

网站被篡改怎么办,如何进行有效的防护

随着互联网的飞速发展&#xff0c;信息传播的速度和范围得到了极大的提升。然而&#xff0c;这也为网页篡改行为提供了可乘之机。网页被篡改不仅会损害网站的形象&#xff0c;还可能对用户造成误导&#xff0c;甚至导致安全漏洞。因此&#xff0c;网页防篡改技术成为了网络安全…

Linux部署前后端项目

部署SpringBoot项目 创建SpringBoot项目 先确保有一个可以运行的springboot项目&#xff0c;这里就记录创建项目的流程了&#xff0c;可以自行百度。 命令行启动 2.1、在linux中&#xff0c;我是在data目录下新创建的一个project目录&#xff08;此目录创建位置不限制&…

智慧园区运维:1500路摄像头故障监控及多机房一体化运维

一、引言 随着智慧园区的快速发展&#xff0c;对园区内IT设施的运维管理提出了更高的要求。本解决方案旨在满足智慧园区对1500路摄像头故障监控及视频画面质量分析的需求&#xff0c;同时具备可扩充性&#xff0c;适应未来园区规模的不断扩大。通过监控易的解决方案&#xff0c…

【C++11】可调用对象

C中存在可调用对象&#xff08;callable objects&#xff09;的一个概念。其具体定义为&#xff1a; 1&#xff09;函数指针 2&#xff09;具有operator&#xff08;&#xff09;的类对象&#xff08;仿函数&#xff09; 3&#xff09;可以被转换为函数指针的对象 4&#xff09…

如何翻译整本书并制作为双语对照?

随着人工智能技术的快速发展&#xff0c;机器翻译已经不再是遥不可及的梦想。众多大互联网公司如谷歌、百度等都相继推出了免费的翻译工具&#xff0c;使得跨语言沟通变得触手可及。今年&#xff0c;数百家公司更是开发出大型AI语言模型&#xff0c;其中以ChatGPT 4引人瞩目&am…

外延炉及其相关的小知识

外延炉是一种用于生产半导体材料的设备&#xff0c;其工作原理是在高温高压环境下将半导体材料沉积在衬底上。 硅外延生长&#xff0c;是在具有一定晶向的硅单晶衬底上&#xff0c;生长一层具有和衬底相同晶向的电阻率且厚度不同的晶格结构完整性好的晶体。 外延生长的特点&am…

Java 8升级Java 11,升级必知要点!竟然有这些坑…

随着技术的不断进步&#xff0c;Java作为一种广泛使用的编程语言&#xff0c;其版本更新带来了许多新特性和性能提升。从Java 8升级到Java 11&#xff0c;是一个重要的转变&#xff0c;它不仅带来了新的编程范式&#xff0c;还引入了对现代软件开发的多项优化。然而&#xff0c…

Redis分布式锁(二)基于Redis的分布式锁

一、redis锁 1、思路 利用set nx ex获取锁&#xff0c;并设置过期时间&#xff0c;保存线程标识释放锁时先判断线程标识是否与自己一致&#xff0c;一致则删除 2、特性 利用set nx满足互斥性利用set ex保证故障时锁依然能释放&#xff0c;避免死锁&#xff0c;提高安全性利…

.net6解除文件上传限制。Multipart body length limit 16384 exceeded

在C#中上传文件时如果不修改默认文件的上传大小会提示Multipart body length limit 16384 exceeded这个错误提示表明你的请求中的Multipart body长度超过了16384字节的限制。这通常意味着你正在尝试发送一个太大的请求体&#xff0c;可能是因为包含了太多数据或者太大的文件。要…

29道memcached面试题含答案(很全)

点击下载《29道memcached面试题含答案&#xff08;很全&#xff09;》 1. Memcached是什么&#xff0c;有什么作用&#xff1f; Memcached是一个开源的&#xff0c;高性能的内存缓存软件&#xff0c;从名称上看Mem就是内存的意思&#xff0c;而Cache就是缓存的意思。Memcache…

如何进行深入的竞品分析:掌握这些技巧让你更加了解市场

随着互联网行业的快速发展&#xff0c;产品经理需要对竞品进行深入分析&#xff0c;才能更好地把握市场需求和趋势&#xff0c;为公司带来更好的商业价值。那么&#xff0c;如何做好竞品分析呢&#xff1f;以下是我对于这个问题的思考和建议。 一、确定分析的目的和范围 在开…

vs 修改系统环境变量putenv、_putenv

事情起因是某一天需要在vs2010的工程中去动态配置adb环境变量&#xff0c;win10环境 一开始&#xff0c;使用了putenv&#xff0c;很快进入代码调试&#xff0c;死活无法达成目的&#xff08;奇怪的是另外一个工程就能修改成功&#xff09; 一番面向运气编程&#xff0c;最后…

3D Gaussian Splatting 应用场景及最新进展【附10篇前沿论文和代码】

CV玩家们&#xff0c;知道3D高斯吗&#xff1f;对&#xff0c;就是计算机视觉最近的新宠&#xff0c;在几个月内席卷三维视觉和SLAM领域的3D高斯。不太了解也没关系&#xff0c;我今天就来和同学们一起聊聊这个话题。 3D Gaussian Splatting&#xff08;3DGS&#xff09;是用于…

vue项目中px单位转rem插件

一、安装插件&#xff1a; "postcss-px2rem": "^0.3.0", "postcss-px2rem-exclude": "0.0.6",二、新建postcss.config.js module.exports {plugins: {autoprefixer: {},"postcss-px2rem-exclude": {"remUnit":…

前端会造成内存泄漏的操作有哪些?页面卡住的原因

如果你发现前端页面卡住了&#xff0c;打开开发者工具也很卡&#xff0c;刷新页面也无效、或者关闭 tab页也很费劲&#xff0c;多半是有内存泄漏。 内存泄漏其实就是浏览器的内存被占用很多&#xff0c;导致页面奔溃。 以下是一些常见的引起内存泄漏的操作&#xff1a; 未正确…

ShardingSphere-JDBC学习笔记

引言 开源产品的小故事 Sharding-JDBC是2015年开源的&#xff0c;早期的定位就是一个分布式数据库的中间件&#xff0c;而在它之前有一个MyCat的产品。MyCat也是从阿里开源出来的&#xff0c;作为分库分表的代名词火了很长一段时间&#xff0c;而MyCat早年的目标就是想进入ap…

一致性 Hash

一致性 Hash 一致性哈希算法(Consistent Hashing Algorithm)是一种分布式算法&#xff0c;常用于负载均衡。Memcached client 也选择这种算法&#xff0c;解决将 key-value 均匀分配到众多 Memcached server 上的问题。它可以取代传统的取模操作&#xff0c;解决了取模操作无法…

关于网盘下载速度提升的一些技巧!!

这里写自定义目录标题 前言&#xff1a;步骤&#xff1a;一、下载IDM二、安装油猴三、添加到Google拓展程序上PS&#xff1a;四、添加脚本五、IDM配置六、打开网页版网盘 前言&#xff1a; 18G的网盘资源下载时间仅仅3-5分钟 步骤&#xff1a; 一、下载IDM 这里我以IDM举例…