Jetpack(L4T) Perf性能分析工具安装及测试

不同于普通AMD64的PC,安装perf相关工具一行apt命令即可sudo apt install linux-tools-common linux-tools-"$(uname -r)" linux-cloud-tools-"$(uname -r)", L4T版本的perf由于不在arm64的apt源中需要从源码编译。

获取源码

  1. 可以通过jtop直接查看相应的l4t版本,如图image-20221206235818326

  2. nvidia下载中心寻找相应版本的Linux Driverimage-20221207000032138

  3. 进入release page找到BSP源码

image-20221207000212684

  1. 复制链接后直接用wget下载至jetson,通常为public_sources.tbz2,通过tar -xjvf public_sources.tbz2解压后可以得到Linux_for_Tegra目录image-20221207000416790

  2. 进入目录Linux_for_Tegra/source/public,解压tar -xjvf kernel_src.tbz2,之后可会得到kernel目录,进入目录kernel/kernel-5.10/tools/perf,即可找到perf相关的源码

编译并安装perf

make && sudo rm /usr/bin/perf && sudo cp perf /usr/bin/perf

可以根据检查报告安装相应的库,以支持更加丰富的功能

image-20221207212812351

检查perf是否安装成功perf --version

image-20221207001524167

生成火焰图

下载火焰图工具

git clone https://github.com/brendangregg/FlameGraph

查看并设置系统限制

1
2
3
sysctl kernel.kptr_restrict 
sudo sysctl -w kernel.kptr_restrict=0
sudo sysctl -w kernel.perf_event_paranoid=-1

采集特定进程信息

perf record -F 100 -p 1157822 -g -- sleep 100

采样频率100Hz,PID 1157822,包含调用栈,持续100s

生成火焰图

1
2
export PATH=<FlameGraph工程目录>:$PATH
perf script | stackcollapse-perf.pl | flamegraph.pl > out.svg

用浏览器打开即可

out


Jetpack(L4T) Perf性能分析工具安装及测试
https://jason-xy.github.io/2022/12/Jetpack-Perf-install-and-test/
作者
Jason Hsu
发布于
2022年12月7日
许可协议