linux perf版本与我的内核版本不匹配

70gysomp  于 2023-10-16  发布在  Linux
关注(0)|答案(3)|浏览(389)

我目前正在研究Raspberry Pi Zero。当我写:

perf --version

/usr/bin/perf:第13行:exec:perf_4.14:未找到E:linux-perf-4.14没有安装。
当我这样做时:

sudo apt-get install linux-perf

然后又道:
linux-perf已经是最新版本了(4.9+80+ deb 9 u4 + rpi 1)
0升级,0新安装,0删除和216未升级。

sudo apt-get install perf_4.14

E:无法找到包perf_4.14
E:按glob找不到任何包裹
'perf_4.14' E:无法找到regex 'perf_4.14'的任何包

sudo apt-get install linux-tools-common linux-base

正在阅读程序包列表.做
建立依赖关系树
正在阅读状态信息.做
E:无法找到软件包linux-tools-common

sudo apt-get install linux-tools-$(uname -r)

正在阅读程序包列表.做
建立依赖关系树
正在阅读状态信息.做
E:无法找到软件包linux-tools-4.14.79
E:找不到任何glob 'linux-tools-4.14.79'的软件包
E:无法通过regex 'linux-tools-4.14.79'找到任何软件包
请帮帮我!
谢谢

qnakjoqk

qnakjoqk1#

我在k8s pod环境中遇到了同样的问题。
在Debian GNU/Linux 10中安装perf:
sudo apt install linux-perf
尝试使用perf,但报告错误:

:~/perf-tools$ sudo perf -h
/usr/bin/perf: line 13: exec: perf_5.4: not found
E: linux-perf-5.4 is not installed.

经过研究,我发现/usr/bin/perf使用uname -r来获取主机的Linux内核版本,而不是容器的版本。
所以我把它重新命名。
sudo cp /usr/bin/perf_4.19 /usr/bin/perf_5.4

nxagd54h

nxagd54h2#

在Debian 11 Bullseye $ cat /etc/os-release PRETTY_NAME=“Debian GNU/Linux 11(bullseye)”

1. apt install linux-perf
2. sudo cp /usr/bin/perf_5.10 /usr/bin/perf_5.15
xpszyzbs

xpszyzbs3#

使用Debian 11

# cat /etc/os-release 
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

我的Linux内核版本是:

# uname -r
6.3.3

perf_5.10已安装:

# dpkg -l linux-perf
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-===================================================
ii  linux-perf     5.10.191-1   amd64        Performance analysis tools for Linux (meta-package)

但是在运行perf命令时,我得到了以下错误:

# perf top --sort cpu,comm,dso
/usr/bin/perf: line 13: exec: perf_6.3: not found
E: linux-perf-6.3 is not installed.

因此,我将现有文件复制到/usr/bin/perf_6.3

# cp /usr/bin/perf_5.10 /usr/bin/perf_6.3

现在,perf命令开始按预期工作。

相关问题