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

发布时间:2024年01月08日

目录

?一、实验

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样例


?

文章来源:https://blog.csdn.net/cronaldo91/article/details/135461958
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。