操作系统版本:ubuntu 16.04
检查是否安装perf
perf --version
输出如下:
WARNING: perf not found for kernel 4.15.0-29
You may need to install the following packages for this specific kernel:
linux-tools-4.15.0-29-generic
linux-cloud-tools-4.15.0-29-generic
You may also want to install one of the following packages to keep up to date:
linux-tools-generic
linux-cloud-tools-generic
根据提示perf 需要安装上述相关的软件包,如果使用内部源会提示没有这个软件包:
root@cnabdabpdu03-12-214:~# apt-get install linux-tools-4.15.0-29-generic
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package linux-tools-4.15.0-29-generic
E: Couldn't find any package by glob 'linux-tools-4.15.0-29-generic'
E: Couldn't find any package by regex 'linux-tools-4.15.0-29-generic'
软件包下载
如果服务器有外网,可以直接下载,如果无外网可以浏览器下载完成上传到服务器
检查服务器内核版本,需要根据内核版本下载对应软件包
root@cnabdabpdu03-12-214:/work/tools# uname -r
4.15.0-29-generic
wget https://mirrors.tuna.tsinghua.edu.cn/ubuntu/pool/main/l/linux/linux-tools-4.15.0-29-generic_4.15.0-29.31_amd64.deb
wget https://mirrors.tuna.tsinghua.edu.cn/ubuntu/pool/main/l/linux/linux-cloud-tools-4.15.0-29-generic_4.15.0-29.31_amd64.deb
然后使用dpkg -i 安装对应软件包:
dpkg -i linux-tools-4.15.0-29-generic_4.15.0-29.31_amd64.deb
dpkg -i linux-cloud-tools-4.15.0-29-generic_4.15.0-29.31_amd64.deb
报错解决方案:一般都是包依赖报错
缺少linux-tools-4.15.0-29
dpkg -i linux-tools-4.15.0-29-generic_4.15.0-29.31_amd64.deb
报错如下:
dpkg: dependency problems prevent configuration of linux-tools-4.15.0-29-generic:
linux-tools-4.15.0-29-generic depends on linux-tools-4.15.0-29; however:
Package linux-tools-4.15.0-29 is not installed.
缺少依赖包:linux-tools-4.15.0-29
下载:
wget https://mirrors.tuna.tsinghua.edu.cn/ubuntu/pool/main/l/linux/linux-tools-4.15.0-29_4.15.0-29.31_amd64.deb
libpci3版本过低
dpkg -i linux-tools-4.15.0-29_4.15.0-29.31_amd64.deb
报错如下:
Unpacking linux-tools-4.15.0-29 (4.15.0-29.31) ...
dpkg: dependency problems prevent configuration of linux-tools-4.15.0-29:
linux-tools-4.15.0-29 depends on libpci3 (>= 1:3.5.2-1); however:
Version of libpci3:amd64 on system is 1:3.3.1-1.1ubuntu1.2.
因服务器上libpci3版本为:1:3.3.1-1不满足依赖关系,所以需要升级,从外网下载对应版本软件包
wget http://ftp.cn.debian.org/debian/pool/main/p/pciutils/libpci3_3.5.2-1_amd64.deb
上传到服务上安装:
dpkg -i libpci3_3.5.2-1_amd64.deb
dpkg -i linux-tools-4.15.0-29_4.15.0-29.31_amd64.deb
我这边是安装完成之后perf就可以使用了,如果不能用,就需要在根据他的提示安装相关依赖即可。
其他内核版本安装建议
- 检查内核版本或者根据perf 输出提示下载软件包
- 依赖包查询方式
https://mirrors.tuna.tsinghua.edu.cn/ubuntu/pool/main/l/linux/ ##如果网页打开这个地址加载会很慢,所以建议直接下载index.html
wget https://mirrors.tuna.tsinghua.edu.cn/ubuntu/pool/main/l/linux/index.html
cat index.html |grep linux-tools-4.15.0-29 可以获取出相关软件包的信息,然后再下载即可
wget https://mirrors.tuna.tsinghua.edu.cn/ubuntu/pool/main/l/linux/xxxxxxx
这个方案比较笨,但是可用,仅供参考