🔩 Perf
-
安装 perf
Bash 1
sudo 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 1
perf -v # 验证是否安装成功
-
下载 FlameGraph
FlameGraph 是一个生成火焰图的工具。
Bash 1
git clone https://github.com/brendangregg/FlameGraph.git
-
使用
Bash 1
sudo perf record -g ./a.out sleep 10
perf record
命令用于记录性能数据。-g
选项用于记录调用图。./a.out
需要记录性能的程序。sleep 10
程序运行 10 秒。
Bash 1
sudo perf script -i perf.data &> perf.unfold
perf script
命令用于将性能数据转换为可读的格式。-i
选项用于指定输入文件。perf.data
是性能数据文件。&> perf.unfold
用于将输出重定向到perf.unfold
文件。
Bash 1
sudo FlameGraph/stackcollapse-perf.pl perf.unfold &> perf.folded
stackcollapse-perf.pl
命令用于将性能数据转换为火焰图的输入格式。perf.unfold
是性能数据文件。&> perf.folded
用于将输出重定向到perf.folded
文件。
Bash 1
sudo FlameGraph/flamegraph.pl perf.folded > perf.svg
flamegraph.pl
命令用于生成火焰图。perf.folded
是火焰图需要的性能数据文件。> perf.svg
用于将输出重定向到perf.svg
文件。