性能版本与我的内核版本不匹配

13

我目前正在使用 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+deb9u4+rpi1)

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'匹配的软件包

请帮我解决这个问题!

谢谢


可以尝试更新到最新的内核,使用以下命令:sudo rpi-update。 - Sai prasant
2
StackOverflow旨在支持编程代码问题。我建议您删除此处并搜索https://raspberrypi.stackexchange.com,并重新发布。请在发布更多问题之前阅读[Help On-topic](https://stackoverflow.com/Help/On-topic)。祝你好运。 - shellter
1
@Saiprasant,不建议进行rpi-update操作,这在很多博客中都有提到。这就是为什么我跳过了这一步骤。 - Sukhmani Kaur Thethi
3个回答

10
我在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

1
你救了我的命。 - kongkongyzt
我在使用WSL2时遇到了同样的问题。 - Yannick MG

0
在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

0
我正在使用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命令已经按预期开始工作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接