菜鸟笔记
提升您的技术认知

使用perf工具查看函数调用栈

前言

perf是一款强大的性能分析工具,本文只是对其查看函数调用栈的用法做一简要说明,后续再逐渐对其它功能进行补充。

编译

以arm64, kernel4.19为例,在linux源码的tools目录下执行:

make  CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 perf LDFLAGS=-static V=1

编译后会在linux/tools/perf/目录下生成perf工具

测试

perf record -a -g dd if=/dev/testb_a of=/dev/null
perf report

注:可以展现函数的调用关系,我但是我在试验的时候却只能看到函数地址,无法看到函数名,但是ftrace都是可以正常使用的,目前原因还未知

us/red_hat_enterprise_linux/8/html/monitoring_and_managing_system_status_and_performance/getting-started-with-perf_monitoring-and-managing-system-status-and-performance