目录
一、实验
1.环境
2.缺页(RSS增长)剖析与火焰图
一、实验
1.环境
(1)主机
表1-1 主机
主机 | 架构 | 组件 | IP | 备注 |
prometheus | 监测 系统 | prometheus、node_exporter | 192.168.204.18 | |
grafana | 监测GUI | grafana | 192.168.204.19 | |
agent | 监测 主机 | node_exporter | 192.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样例