准备使用perf工具分析代码的性能,发现perf安装的方式有好几种。
安装信赖
1.安装flex
flex如果不安装,后面在编译的时候,会出现信赖报错。
报错的内容类似以下:
Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs from latest version at 'include/uapi/drm/i915_drm.h'
Warning: Kernel ABI header at 'tools/include/uapi/linux/kvm.h' differs from latest version at 'include/uapi/linux/kvm.h'
Warning: Kernel ABI header at 'tools/include/uapi/linux/prctl.h' differs from latest version at 'include/uapi/linux/prctl.h'
Warning: Kernel ABI header at 'tools/arch/x86/include/asm/disabled-features.h' differs from latest version at 'arch/x86/include/asm/disabled-features.h'
Warning: Kernel ABI header at 'tools/arch/x86/include/asm/cpufeatures.h' differs from latest version at 'arch/x86/include/asm/cpufeatures.h'
Warning: Kernel ABI header at 'tools/arch/x86/include/uapi/asm/kvm.h' differs from latest version at 'arch/x86/include/uapi/asm/kvm.h'
Warning: Kernel ABI header at 'tools/arch/powerpc/include/uapi/asm/kvm.h' differs from latest version at 'arch/powerpc/include/uapi/asm/kvm.h'
Warning: Kernel ABI header at 'tools/arch/s390/include/uapi/asm/kvm.h' differs from latest version at 'arch/s390/include/uapi/asm/kvm.h'
Makefile.config:137: *** Error: flex is missing on this system, please install it. Stop.
Makefile.perf:203: recipe for target 'sub-make' failed
make[1]: *** [sub-make] Error 2
Makefile:69: recipe for target 'all' failed
make: *** [all] Error 2
flex安装命令:
sudo apt-get install flex
2.安装bison
bison如果没有安装,会报以下错误。
BUILD: Doing 'make -j4' parallel build
Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs from latest version at 'include/uapi/drm/i915_drm.h'
Warning: Kernel ABI header at 'tools/include/uapi/linux/kvm.h' differs from latest version at 'include/uapi/linux/kvm.h'
Warning: Kernel ABI header at 'tools/include/uapi/linux/prctl.h' differs from latest version at 'include/uapi/linux/prctl.h'
Warning: Kernel ABI header at 'tools/arch/x86/include/asm/disabled-features.h' differs from latest version at 'arch/x86/include/asm/disabled-features.h'
Warning: Kernel ABI header at 'tools/arch/x86/include/asm/cpufeatures.h' differs from latest version at 'arch/x86/include/asm/cpufeatures.h'
Warning: Kernel ABI header at 'tools/arch/x86/include/uapi/asm/kvm.h' differs from latest version at 'arch/x86/include/uapi/asm/kvm.h'
Warning: Kernel ABI header at 'tools/arch/powerpc/include/uapi/asm/kvm.h' differs from latest version at 'arch/powerpc/include/uapi/asm/kvm.h'
Warning: Kernel ABI header at 'tools/arch/s390/include/uapi/asm/kvm.h' differs from latest version at 'arch/s390/include/uapi/asm/kvm.h'
Makefile.config:141: *** Error: bison is missing on this system, please install it. Stop.
Makefile.perf:203: recipe for target 'sub-make' failed
make[1]: *** [sub-make] Error 2
Makefile:69: recipe for target 'all' failed
make: *** [all] Error 2
安装命令如下:
sudo apt install bison
pref安装-linux-source
执行以下命令安装linux-source, 包比较大,差不多127M.
sudo apt-get install linux-source
执行完上面命令后,进入/usr/src目录。
cd /usr/src
在这个目录中存在以下文件(参考)。
:/usr/src$ ls
linux-headers-5.3.0-45 linux-headers-5.3.0-46-generic
linux-headers-5.3.0-45-generic linux-source-4.15.0
linux-headers-5.3.0-46 linux-source-4.15.0.tar.bz2
执行解压命令。
sudo tar -xvjf linux-source-4.15.0.tar.bz2
解压完成后。进入这个目录中的。
cd linux-source-4.15.0/tools/perf
编译安装
在目录perf中,我们执行编译/安装命令。
make && make install
如果提示权限错误,则使用sudo。
sudo make
sudo make install
安装完成后,会在当前目录生成perf的执行文件。接下来,让这个文件全局可用。
sudo ln -s `pwd`/perf /usr/local/bin/perf
验证安装
在系统任意的目录执行:
perf --version
如果版本信息输出,则说明安装已成功。
$ perf --version
perf version 4.15.18

本文详细介绍了如何在Linux环境下安装和配置perf性能分析工具,包括必要的依赖软件flex和bison的安装步骤,以及从源代码编译安装perf的具体过程。通过本教程,读者可以顺利在本地环境中搭建perf工具,进行代码性能分析。
8729

被折叠的 条评论
为什么被折叠?



