You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu22.04(内核6.6.17-060617-generic)下perf工具无法使用的问题求助

Ubuntu22.04(内核6.6.17-060617-generic)下perf工具无法使用的问题求助

看起来你遇到的核心问题是这个内核版本并非Ubuntu官方仓库提供的标准内核,所以apt找不到对应的linux-tools包,只能通过手动编译perf工具来解决。我来一步步帮你搞定这个问题:

1. 先安装编译perf所需的全部依赖

编译perf需要很多开发库,你遇到的那些警告/错误都是因为缺失这些依赖,直接用apt安装所有需要的包即可:

sudo apt update
sudo apt install build-essential systemtap-sdt-dev clang libperl-dev libzstd-dev libcap-dev libnuma-dev libbabeltrace-dev libpfm4-dev libtraceevent-dev

这些包会覆盖你遇到的所有缺失项,包括sys/sdt.h、clang、perl开发文件、libzstd等。

2. 处理已存在的Linux源码目录

你之前已经clone过Linux内核仓库,目录非空没关系,先进入目录切换到和当前内核完全匹配的源码版本:

cd linux
# 检出与当前运行内核一致的6.6.17版本tag
git checkout v6.6.17

然后进入perf工具的源码目录:

cd tools/perf

3. 编译并安装perf

用多核心编译提升速度(nproc会自动获取你的CPU核心数):

make -j$(nproc)

如果编译过程中还有某个非必需功能你不想安装(比如Java支持),可以通过添加NO_XXX=1参数跳过,比如:

make -j$(nproc) NO_JAVA=1

编译完成后,把生成的perf二进制文件复制到系统全局路径,这样任何终端都能调用:

sudo cp perf /usr/local/bin/

4. 验证perf是否可用

运行以下命令测试:

perf --version

如果能正常输出版本信息,说明安装成功了。

额外注意事项

  • 如果后续运行perf时遇到事件采集失败的问题,需要确认你的内核配置中开启了CONFIG_PERF_EVENTS=y(这个选项一般在主线内核中默认开启,如果你是自己编译的内核,记得检查这个配置)。
  • 编译完成后,你可以删除整个linux源码目录,不会影响已经安装的perf工具。

备注:内容来源于stack exchange,提问作者cbchuan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 07:09:39