WSL中安装perf工具时,按照一般安装方法,安装linux-tools-common后,执行perf工具提示
WARNING: perf not found for kernel 4.4.0-18362
You may need to install the following packages for this specific
kernel:linux-tools-4.4.0-18362-Microsoft
linux-cloud-tools-4.4.0-18362-Microsoft
You may also want to install one of the following packages to keep up
to date:linux-tools-Microsoft
linux-cloud-tools-Microsoft
然而以上安装包在apt-get中找不到,因此重新使用源码编译的方法安装perf
首先安装编译工具
sudo apt install build-essential flex bison libssl-dev libelf-dev
然后下载WSL源码
git clone --depth=1 https://github.com/microsoft/WSL2-Linux-Kernel.git
github下载如果比较慢,gitee有镜像源
git clone https://gitee.com/mirrors/WSL2-Linux-Kernel.git
下载完成后,进行编译
cd WSL2-Linux-Kernel/tools/perf
make
编译成功后,即可在此文件夹下找到perf工具,执行成功,也可以自行将perf工具移动到/usr/bin文件夹下方便调用
gary@Gary:/mnt/d/code$ perf
usage: perf [--version] [--help] [OPTIONS] COMMAND [ARGS]
The most commonly used perf commands are:
annotate Read perf.data (created by perf record) and display annotated code
archive Create archive with object files with build-ids found in perf.data file
bench General framework for benchmark suites
buildid-cache Manage build-id cache.
buildid-list List the buildids in a perf.data file
c2c Shared Data C2C/HITM Analyzer.
config Get and set variables in a configuration file.
data Data file related processing
diff Read perf.data files and display the differential profile
evlist List the event names in a perf.data file
ftrace simple wrapper for kernel's ftrace functionality
inject Filter to augment the events stream with additional information
kallsyms Searches running kernel for symbols
kmem Tool to trace/measure kernel memory properties
kvm Tool to trace/measure kvm guest os
list List all symbolic event types
lock Analyze lock events
mem Profile memory accesses
record Run a command and record its profile into perf.data
report Read perf.data (created by perf record) and display the profile
sched Tool to trace/measure scheduler properties (latencies)
script Read perf.data (created by perf record) and display trace output
stat Run a command and gather performance counter statistics
test Runs sanity tests.
timechart Tool to visualize total system behavior during a workload
top System profiling tool.
probe Define new dynamic tracepoints
trace strace inspired tool
See 'perf help COMMAND' for more information on a specific command.
参考:https://stackoverflow.com/questions/60237123/is-there-any-method-to-run-perf-under-wsl