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

性能分析与调优: 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样例


 

相关文章:

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

目录 一、实验 1.环境 2.缺页(RSS增长)剖析与火焰图 一、实验 1.环境 &#xff08;1&#xff09;主机 表1-1 主机 主机架构组件IP备注prometheus 监测 系统 prometheus、node_exporter 192.168.204.18grafana监测GUIgrafana192.168.204.19agent 监测 主机 node_exporter…...

代码随想录算法训练营第17天 | 110.平衡二叉树 + 257. 二叉树的所有路径 + 404.左叶子之和

今日内容 110.平衡二叉树 257. 二叉树的所有路径 404.左叶子之和 110.平衡二叉树 - Easy 题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 给定一个二叉树&#xff0c;判断它是否是高度平衡的二叉树。 本题中&#xff0c;一棵高度平衡二叉树定义为&#xff1…...

ubuntu20.04网络问题以及解决方案

1.网络图标消失&#xff0c;wired消失&#xff0c;ens33消失 参考&#xff1a;https://blog.51cto.com/u_204222/2465609 https://blog.csdn.net/qq_42265170/article/details/123640669 原始是在虚拟机中切换网络连接方式&#xff08;桥接和NAT&#xff09;&#xff0c; 解决…...

Java面试题(java高级面试题)

线程池的核心线程数设置为多大比较合理&#xff1f; Worker线程在执行的过程中&#xff0c;有一部计算时间需要占用CPU&#xff0c;另一部分等待时间不需要占用CPU&#xff0c;通过量化分析&#xff0c;例如打日志进行统计&#xff0c;可以统计出整个Worker线程执行过程中这两…...

【MIdjourney】关于图像中人物视角的关键词

本篇仅是我个人在使用过程中的一些经验之谈&#xff0c;不代表一定是对的&#xff0c;如有任何问题欢迎在评论区指正&#xff0c;如有补充也欢迎在评论区留言。 1.全景镜头(panorama) 全景镜头是一种广角镜头&#xff0c;可以捕捉到比普通镜头更广阔的视野范围。全景镜头&…...

433. 最小基因变化(Queue使用ArrayList和LinkedList进行声明)

这道题可以看成一个24叉树。 因为基因序列长度固定为8&#xff0c;且每个位置的字母固定是AGCT&#xff0c;可以选择改变的只有3个字母&#xff0c;所以一次最多24种情况。 然后检查变化后的结果是否存在bank中&#xff08;使用hashSet来存储&#xff09;&#xff0c;同时设置…...

MYSQL双主节点–更换ip

MYSQL双主节点–更换ip 一、更换双主节点ip 1.停止mysql服务 #安装了supervisor supervisorctl stop mysql #未安装 systemctl stop mysqld2.修改网卡配置信息 注&#xff1a;ens33是网卡名称&#xff0c;可能网卡不叫ens33 vi /etc/sysconfig/network-scripts/ifcfg-ens333…...

一文玩转Go语言中的面向对象编程~

温故而知新&#xff1a;什么是面向对象 面向对象&#xff08;Object-Oriented&#xff09;是一种计算机编程的方法和思想&#xff0c;它将程序中的数据&#xff08;对象&#xff09;和操作&#xff08;方法&#xff09;组织成一个个相互关联和交互的对象。对象是现实世界中的事…...

kylin集群反向代理(健康检查)

前面一篇文章提到了使用nginx来对kylin集群进行反向代理&#xff0c; kylin集群使用nginx反向代理-CSDN博客文章浏览阅读349次&#xff0c;点赞8次&#xff0c;收藏9次。由于是同一个集群的&#xff0c;元数据没有变化&#xff0c;所以&#xff0c;直接将原本的kylin使用scp的…...

【docker】centos7安装harbor

目录 零、前提一、下载离线包二、安装三、访问四、开机自启 零、前提 1.前提是已经安装了docker和docker-compose 一、下载离线包 1. csdn资源&#xff1a;harbor-offline-installer-v2.10.0.tgz 2. 百度云盘&#xff08;提取码&#xff1a;ap3t&#xff09;&#xff1a;harbo…...

2024 年 1 月安全更新修补了 58 个漏洞(Android )

谷歌发布了针对 Android 平台 58 个漏洞的补丁&#xff0c;并修复了 Pixel 设备中的 3 个安全漏洞&#xff0c;拉开了 2024 年的序幕。 Android 2024 年 1 月更新的第一部分以 2024 年 1 月 1 日安全补丁级别发布在设备上&#xff0c;解决了框架和系统组件中的 10 个安全漏洞&…...

数据库系统概念 第七版 中文答案 第3章 SQL介绍

3.1 将以下查询使用SQL语言编写&#xff0c;使用大学数据库模式。 &#xff08;我们建议您实际在数据库上运行这些查询&#xff0c;使用我们在书籍网站db-book.com上提供的示例数据。有关设置数据库和加载示例数据的说明&#xff0c;请参阅上述网站。&#xff09; a. 查找计算机…...

什么是数通技术?以太网交换机在数通技术中的精要

什么是数通技术&#xff1f; 数通技术是指数字通信技术&#xff0c;它涵盖了数字信号处理、数据传输、网络通信等领域。通信工程师在数通技术中负责设计、建设和维护数字通信系统&#xff0c;以实现可靠、高效的信息传输。这涉及到数字信号的编解码、调制解调、数据压缩、网络…...

php 的数学常用函数

目录 1.常用列表 2.代码示例 1.常用列表 函数名描述输入输出abs()求绝对值数字绝对值数字ceil()进一法取整浮点数进一取整floor()舍去法求整浮点数直接舍去小数部分fmod()浮点数取余 两个浮点 数,x>y 浮点余数 pow()返回数的n次方基础数n次方乘方值round()浮点数四舍五入…...

Netty-Netty组件了解

EventLoop 和 EventLoopGroup 回想一下我们在 NIO 中是如何处理我们关心的事件的&#xff1f;在一个 while 循环中 select 出事 件&#xff0c;然后依次处理每种事件。我们可以把它称为事件循环&#xff0c;这就是 EventLoop 。 interface io.netty.channel. EventLoo…...

银行的压力测试如何进行?

为什么要进行压力风险测试&#xff1f; 压力风险测试的最终目的是测试银行在极度恶劣的市场环境中是否有足够的资本维持运转。 题主链接中的一级资本充足率(Tier 1 capital ratio) 亦即衡量标准&#xff0c;这个数字越大&#xff0c;表明银行资本约充裕&#xff0c;可以在停止…...

QtService、托盘程序使用

1、QtService 使用QtService实现Qt后台服务程序 用QT创建一个Windows Service以及踩到的若干坑 2、托盘程序 Qt之程序最小化托盘显示及操作 Qt系统托盘程序的实现...

使用Linux防火墙管理HTTP流量

在Linux系统中&#xff0c;防火墙是用于控制网络流量的重要工具。通过防火墙&#xff0c;你可以根据需要限制、过滤或允许特定的网络流量&#xff0c;从而提高系统的安全性。在处理HTTP流量时&#xff0c;防火墙可以帮助你实施访问控制、流量监控和其他安全策略。 iptables i…...

图鸟引入多套字体图标的方式教程

https://www.yuque.com/tuniao/qunyou/tgfvpg ①上传icon&#xff0c;生成iconfont.css 将css文件放这里 app.vue全局引入 适当改造iconfont.css的写法&#xff0c;方便调用...

在openEuler环境下快速编译GreatSQL RPM包

在上一篇中&#xff0c;已经介绍了在CentOS环境下编译GreatSQL RPM包的过程&#xff0c;本文再介绍如何在openEuler环境下编译GreatSQL RPM包。 运行环境是docker中的openEuler 22.03 x86_64&#xff1a; $ docker -v Docker version 20.10.10, build b485636$ docker run -itd…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank&#xff1f;由于时间太久&#xff0c;我真忘记了。搜搜发现&#xff0c;还真有人和我一样。见下面的链接&#xff1a;https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日&#xff0c;国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解&#xff0c;“超级…...

Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!

一、引言 在数据驱动的背景下&#xff0c;知识图谱凭借其高效的信息组织能力&#xff0c;正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合&#xff0c;探讨知识图谱开发的实现细节&#xff0c;帮助读者掌握该技术栈在实际项目中的落地方法。 …...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral&#xff08;热门工具 Ruff 的开发者&#xff09;推出的下一代高性能 Python 包管理器和构建工具&#xff0c;用 Rust 编写。它旨在解决传统工具&#xff08;如 pip、virtualenv、pip-tools&#xff09;的性能瓶颈&#xff0c;同时…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

比较数据迁移后MySQL数据库和OceanBase数据仓库中的表

设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

通过MicroSip配置自己的freeswitch服务器进行调试记录

之前用docker安装的freeswitch的&#xff0c;启动是正常的&#xff0c; 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...

LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别(二)

在上一篇文章中,我们详细介绍了如何使用LLaMA-Factory框架对Qwen2-VL大模型进行微调,以实现人脸情感识别的功能。本篇文章将聚焦于微调完成后,如何调用这个模型进行人脸情感识别的具体代码实现,包括详细的步骤和注释。 模型调用步骤 环境准备:确保安装了必要的Python库。…...