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

目录

 一、实验

1.环境

2.缺页(RSS增长)剖析与火焰图


 一、实验

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.缺页(RSS增长)剖析与火焰图

(1)开源软件构建

① 克隆或直接下载ZIP

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

②查看目录

[root@agent opt]# ls

FlameGraph-master.zip为上传的开源软件包

③ 解压

[root@agent opt]# unzip FlameGraph-master.zip 


④再次查看目录

[root@agent opt]# ls

⑤切换目录查询

[root@agent opt]# cd FlameGraph-master/
[root@agent FlameGraph-master]# ls

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

 (2)缺页剖析

① 命令

使用perf命令在所有CPU(-a)以上对栈踪迹(-g)采样60秒,采样整个系统的缺页(RSS增长)机器栈踪迹,列出样本

[root@agent ~]#  perf record -e page-faults -a -g -- sleep 60

②然后导出到指定文件

[root@agent ~]# perf script --header > /opt/FlameGraph-master/out.stacks

 ③切换目录并查看

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

(3)缺页故障火焰图(内存火焰图)

① 命令

背景颜色设置为绿色,指定标题

[root@agent FlameGraph-master]# ./stackcollapse-perf.pl < /opt/FlameGraph-master/out.stacks | ./flamegraph.pl --hash \> --bgcolor=green --count=pages --title="Page Fault Flame Graph" > out.svg[root@prometheus FlameGraph-master]# ls

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

(4)网页浏览

①  Linux可视化界面查看目录

② 选择浏览器打开

③查看out.svg

 ④另外查看自带的perf样例

⑤另外查看自带的dtrace样例


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/607497.shtml

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

相关文章

实现锚点定位功能(React/Vue)

前言 最近接到一个需求&#xff0c;修改某某页面&#xff0c;增加XXX功能&#xff0c;并实现个锚点功能。做产品就是不断优化&#xff0c;增加功能的过程。实现锚点的方式很多&#xff0c; 很多UI库也提供了组件&#xff0c;可以根据自己的需求调整一下组件库也可以实现&#…

vulhub中的Apache HTTPD 换行解析漏洞(CVE-2017-15715)详解

Apache HTTPD 换行解析漏洞&#xff08;CVE-2017-15715&#xff09; 1.cd到CVE-2017-15715 cd vulhub/httpd/CVE-2017-15715 2.运行docker-compose build docker-compose build 3.运行docker-compose up -d 4.查看docker-compose ps 5.访问 出现这个表示安装成功 6.漏洞复现…

C 练习实例22

题目&#xff1a;两个乒乓球队进行比赛&#xff0c;各出三人。甲队为a,b,c三人&#xff0c;乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比&#xff0c;c说他不和x,z比&#xff0c;请编程序找出三队赛手的名单。 首先吐槽一下&#xff0c;这是…

Linux系统操作命令

Linux管理 在线查询Linux命令&#xff1a; https://www.runoob.com/linux/linux-install.htmlhttps://www.linuxcool.com/https://man.linuxde.net/ 1.Linux系统目录结构 Linux系统的目录结构是一个树状结构&#xff0c;每一个文件或目录都从根目录开始&#xff0c;并且根目…

MySQL语法练习-DML语法练习

文章目录 0、相关文章1、添加数据2、修改数据3、删除数据4、总结 0、相关文章 《MySQL练习-DDL语法练习》 1、添加数据 # 给指定字段添加数据 insert into 表名 (字段名1,字段名2,...) values(值1,值2...);# 给全部字段添加数据 insert into 表名 values(值1,值2,...);#批量…

五种主流数据库:字符串匹配

当我们不能完全确定需要查找的信息时&#xff0c;可以使用 SQL 模糊查找的功能进行文本检索&#xff0c;对应的运算符是 LIKE。 本文比较五种主流数据库对于文本模糊查找的实现和差异&#xff0c;包括 MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite。 字符串模糊匹配My…

C++入门【24-C++ 传递指针给函数】

C 允许您传递指针给函数&#xff0c;只需要简单地声明函数参数为指针类型即可。 下面的实例中&#xff0c;我们传递一个无符号的 long 型指针给函数&#xff0c;并在函数内改变这个值&#xff1a; 实例 #include <iostream>#include <ctime>using namespace std…

MySQL面试系列-02

1. 表分区有什么好处&#xff1f; 1、存储更多数据。分区表的数据可以分布在不同的物理设备上&#xff0c;从而高效地利用多个硬件设备。和单个磁盘或者文件系统相比&#xff0c;可以存储更多数据 2、优化查询。在where语句中包含分区条件时&#xff0c;可以只扫描一个或多个…

Docker查看镜像的Dockerfile

前言 在使用Docker构建应用程序时&#xff0c;我们可以通过Dockerfile定义应用程序的环境&#xff0c;并将其打包成一个镜像。有时&#xff0c;我们可能需要查看一个已经构建好的镜像的Dockerfile&#xff0c;以了解镜像是如何构建的&#xff0c;或者进行后续的修改和调整。本…

python股票分析挖掘预测技术指标知识之蜡烛图指标(6)

本人股市多年的老韭菜&#xff0c;各种股票分析书籍&#xff0c;技术指标书籍阅历无数&#xff0c;萌发想法&#xff0c;何不自己开发个股票预测分析软件&#xff0c;选择python因为够强大&#xff0c;它提供了很多高效便捷的数据分析工具包。 我们已经初步的接触与学习其中数…

【华为OD机试真题2023CD卷 JAVAJS】根据IP查找城市

华为OD2023(C&D卷)机试题库全覆盖,刷题指南点这里 根据IP查找城市 时间限制:3s 空间限制:256MB 限定语言:不限 题目描述: 某业务需要根据终端的IP地址获取该终端归属的城市,可以根据公开的IP地址池信息查询归属城市。地址池格式如下城市名=起始IP,结束IP,起始和结…

利用格式工厂,做视频的剪辑

接到一个工作&#xff0c;一段视频中&#xff0c;需要抠除其中某一段 其实 剪映、苹果手机的视频编辑功能&#xff0c;都可以轻松搞定 只是清晰度会有损伤 而且对于太大的视频&#xff0c;苹果手机就没法处理了。 很多软件在导出高清视频时&#xff0c;需要会员收费&#xff0…

【PHP】判断字符串是否是有效的base64编码

目录 1.检测长度&#xff1a; 2.检查字符集&#xff1a; 在PHP中&#xff0c;判断一个字符串是否是有效的Base64编码&#xff0c;可以通过以下几种方法&#xff1a; 1.检测长度&#xff1a; Base64编码的字符串长度必须是4的倍数&#xff08;对于标准的Base64编码&#xff…

什么是.jks(.keystore)文件

.jks 文件就是Java KeyStore (JKS)文件。它的用于存储加密密钥和证书。这个jks可以用在SSL加密&#xff0c;Android应用签名&#xff0c;Java应用等上面。 其实&#xff0c;我们还见过.keystore文件&#xff0c;它和.jks文件是一样的。 .jks 文件是.keystore 文件的其中一种。…

Java学习笔记-day02-在IDEA中使用git忽略提交.idea下的文件

1.在根目录.gitignore文件排除.idea目录 ### IntelliJ IDEA ### .idea2.使用重置Head还原已经add过的文件 创建项目时&#xff0c;可能会有.idea中的文件先add到git后再创建的.gitignore文件&#xff0c;导致文件commit时无法排除&#xff0c;如下所示。 使用重置Head将文件…

Python从入门到网络爬虫(JSON详解)

前言 JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式。和XML相比&#xff0c;JSON更加简洁和易于读写&#xff0c;同时也更加易于解析和生成。JSON的基本数据类型包括字符串、数字、布尔、null以及数组和对象两种复合类型。各种编程语言都…

深度学习 常考简答题--[HBU]期末复习

目录 1.为什么要引用非线性激活函数&#xff1f; 2.什么是超参数&#xff1f;如何优化超参数&#xff1f; 3.线性回归通常使用平方损失函数&#xff0c;能否使用交叉熵损失函数&#xff1f; 4.平方损失函数为何不适用于解决分类问题&#xff1f;(和第3题一块复习) ​编辑 …

新年新风貌 苏州金龙蔚蓝公交护航高贸区“效率巴士”!

1月4日&#xff0c;由苏州市公交集团园区公司与园区高贸区管委会联合推出的4条“高贸区效率巴士”正式开行&#xff0c;这四条线路惠及包括苏州群策科技有限公司、荣旗工业科技有限公司等在内的20余家高贸区重点企业。线路开行5天来&#xff0c;效率巴士让不少企业员工感受到了…

开发者与下雨天:一种独特的情感联结

在科技行业中&#xff0c;开发者是一个独特的群体&#xff0c;他们以逻辑严密的思维和对技术的执着追求为世界编织出无数精彩的数字画卷。而在日常生活中&#xff0c;一个常被提起的现象是许多开发者似乎对下雨天有着特别的喜爱。本文旨在探讨这种现象背后可能存在的心理、生理…

电口模块SFP-GE-T:实现光口与电口之间的转换

电口模块是一种用于实现光口转电口功能的设备&#xff0c;在网络通信中起到重要作用。电口模块没有光电转换的过程&#xff0c;只是传输电信号。本文介绍电口模块的作用、分类、以及使用方法。 一、什么是电口模块 电口模块又被称为光转电模块&#xff0c;它是一种支持热插拔…