WSL2 编译安装 perf
简介
本文介绍如何在 Windows11 WSL2 中安装perf
工具. 这要求编译安装相应的内核代码.
操作环境
- Windows11
- WSL2
- Ubuntu 22.04
问题来源
在 WSL2 中安装perf
时, 需要如下命令:
此时会遇到如下错误:
这是因为 WSL2 使用的 Linux 内核是定制化的, 并非Ubuntu
母公司Canonical
发布的标准内核.
这个时候需要我们手动编译安装内核代码.
准备阶段
1. 更新 WSL2
打开 Windows PowerShell, 更新 WSL2:
得到输出:
2. Ubuntu 22.04
中安装编译工具
从开始菜单搜索并打开Ubuntu
, 也可以在 Windows Terminal 中选择Ubuntu 22.04
.
打开命令行界面后, 输入下面命令安装编译工具以及依赖库:
编译内核代码
这部分步骤需要小心操作, 毕竟是内核代码.
需要注意的是, 编译内核代码的时候不要使用 root 权限. 只需要在安装perf
的时候使用root
权限.
1. 检查内核版本
首先我们需要查看当前Ubuntu
的内核版本:
得到输出:
这个版本号将决定我们下载的内核代码版本, 即5.15.146.1
版本.
请注意这个版本号可能会有变化, 你的实际操作结果跟这里的版本号可能会有所不同.
设置一个环境变量KERNEL_VERSION
, 方便后续引用:
2. 下载内核代码
这里提供两种可选方式:
从Github Release下载, 找到对应版本的内核代码.
从 Github 上 clone 代码:
3. 编译并安装
使用make
命令编译内核代码:
为了加快编译速度, 可以使用-j
参数:
编译perf
工具:
编译完成后安装到系统目录:
全功能的perf
perf
编译的时候会根据你本地安装的库的版本来决定是否支持某些功能. 如果你需要全功能的perf
则需要进一步安装依赖库.
1. 安装依赖库
2. 重新编译perf
编译过程中会显示哪些功能被支持.
3. 安装perf
测试perf
