简介
本文介绍通过包管理工具和手工的方式安装perf工具。
通过包管理工具
对于像centos、ubuntu等发行版,都提供了对应的包,只要根据内核版本进行安装即可。安装的命令如下:
# 在ubuntu下
apt-get install linux-tools-"$(uname -r)"
手工安装
在一些特殊的场景,比如aws的EC2中,无法使用包管理工具安装linux-tools。这时,我们就需要手工编译安装perf。
首先获取内核版本,通过下面的命令:
uname -a
然后在linux内核托管的网站上找到对应的内核源码,例如https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.14.173.tar.xz 。
下载后解压,进入tools/perf目录下,执行make进行编译。
编译完成后在该目录下有个perf的二进制文件,即我们需要的perf工具了。
不过,这个perf工具由于编译依赖的问题,功能残缺。在perf编译时,它会检测依赖库的情况,生成状态表格,同时提供了缺少的依赖包。把依赖包全部安装后,重新编译,即可获得全功能的perf。
需要注意的是,如果使用perf工具时,看不到调用的函数,说明编译的依赖不全,导致功能残缺,安装依赖后重新编译即可。