🔩 Perf
-
安装 perf
Bash 1sudo apt install linux-tools-common linux-tools-generic linux-tools-`uname -r`linux-tools-common:Linux 性能分析工具的公共文件。linux-tools-generic:Linux 性能分析工具的通用文件。linux-tools-<version>:Linux 性能分析工具的内核版本文件。uname -r命令用于查看内核版本。
Bash 1perf -v # 验证是否安装成功 -
下载 FlameGraph
FlameGraph 是一个生成火焰图的工具。
Bash 1git clone https://github.com/brendangregg/FlameGraph.git -
使用
Bash 1sudo perf record -g ./a.out sleep 10perf record命令用于记录性能数据。-g选项用于记录调用图。./a.out需要记录性能的程序。sleep 10程序运行 10 秒。
Bash 1sudo perf script -i perf.data &> perf.unfoldperf script命令用于将性能数据转换为可读的格式。-i选项用于指定输入文件。perf.data是性能数据文件。&> perf.unfold用于将输出重定向到perf.unfold文件。
Bash 1sudo FlameGraph/stackcollapse-perf.pl perf.unfold &> perf.foldedstackcollapse-perf.pl命令用于将性能数据转换为火焰图的输入格式。perf.unfold是性能数据文件。&> perf.folded用于将输出重定向到perf.folded文件。
Bash 1sudo FlameGraph/flamegraph.pl perf.folded > perf.svgflamegraph.pl命令用于生成火焰图。perf.folded是火焰图需要的性能数据文件。> perf.svg用于将输出重定向到perf.svg文件。