1. WSL 内核版本升级

https://learn.microsoft.com/en-us/community/content/wsl-user-msft-kernel-v6 https://blog.yurzi.net/posts/a-try-to-upgrade-wsl-kernel/#cite-3 https://zhuanlan.zhihu.com/p/18715471543

这里可以直接升级内核,然后功能全开,perf 自然也可以直接使用,当然也可以针对当前版本,编译 perf 安装

  1. 确定内核版本
❯ uname -a
Linux Esoye 5.15.153.1-microsoft-standard-WSL2 #1 SMP Fri Mar 29 23:14:13 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
  1. 下载对应内核源码,可以直接 clone,也可以直接下载源码包
git clone https://github.com/microsoft/WSL2-Linux-Kernel.git --depth=1 -b linux-msft-wsl-6.6.y
  1. 安装依赖,否则编译的 perf 功能不全,也可以自己研究具体需要那些功能
sudo apt install \
binutils-dev debuginfod   libbabeltrace-dev libcap-dev \
libdw-dev libdwarf-dev libelf-dev  liblzma-dev libnuma-dev libperl-dev  cpio dwarves \
libslang2-dev libssl-dev libtraceevent-dev libunwind-dev libzstd-dev libzstd1  python3-dev systemtap-sdt-dev zlib1g-dev

-- 可以按下面提示安装对应版本的依赖
Makefile.config:423: No libelf found. Disables 'probe' tool, jvmti and BPF support in 'perf record'. Please install libelf-dev, libelf-devel or elfutils-libelf-devel
Makefile.config:596: No sys/sdt.h found, no SDT events are defined, please install systemtap-sdt-devel or systemtap-sdt-dev
Makefile.config:680: Disabling post unwind, no support found.
Makefile.config:746: No libcrypto.h found, disables jitted code injection, please install openssl-devel or libssl-dev
Makefile.config:762: slang not found, disables TUI support. Please install slang-devel, libslang-dev or libslang2-dev
Makefile.config:809: Missing perl devel files. Disabling perl scripting support, please install perl-ExtUtils-Embed/libperl-dev
Makefile.config:891: Old version of libbfd/binutils things like PE executable profiling will not be available
Makefile.config:940: No liblzma found, disables xz kernel module decompression, please install xz-devel/liblzma-dev
Makefile.config:953: No libzstd found, disables trace compression, please install libzstd-dev[el] and/or set LIBZSTD_DIR
Makefile.config:964: No libcap found, disables capability support, please install libcap-devel/libcap-dev
Makefile.config:977: No numa.h found, disables 'perf bench numa mem' benchmark, please install numactl-devel/libnuma-devel/libnuma-dev
Makefile.config:1036: No libbabeltrace found, disables 'perf data' CTF format support, please install libbabeltrace-dev[el]/libbabeltrace-ctf-dev
  1. 编译 perf
cd WSL2-Linux-Kernel-linux-msft-wsl-5.15.153.1/tools/perf
make

或者
make -j$(nproc) KCONFIG_CONFIG=myconf
  1. 如果是 perf sudo cp perf /usr/bin 验证
❯ perf -v
perf version 5.15.153.1
  1. 安装内核

2. zsk powerlevel10k

sh -c "$(curl -fsSL https://gitee.com/shmhlsy/oh-my-zsh-install.sh/raw/master/install.sh)"

git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions

git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

ZSH_THEME="powerlevel10k/powerlevel10k"

p10k configure

3. docker

sudo apt install docker.io

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.39/containers/json": dial unix /var/run/docker.sock: connect: permission denied

sudo groupadd docker         #添加docker用户组
sudo gpasswd -a $USER docker #将当前用户添加到docker用户组
newgrp docker                #更新docker用户组

-- 可能可用的镜像,一个一个试
docker pull  registry.docker-cn.com/library/ubuntu:24.04
docker pull  hub-mirror.c.163.com/library/ubuntu:24.04
docker pull  docker.mirrors.ustc.edu.cn/library/ubuntu:24.04
docker pull  yxzrazem.mirror.aliyuncs.com/library/ubuntu:24.04
docker pull  docker.kubesre.xyz/library/ubuntu:24.04
docker pull  dc.j8.work/library/ubuntu:24.04
docker pull  docker.registry.cyou/library/ubuntu:24.04
docker pull  docker.hlyun.org/library/ubuntu:24.04
docker pull  docker.chenby.cn/library/ubuntu:24.04
docker pull  docker.jsdelivr.fyi/library/ubuntu:24.04
docker pull  docker-mirrors.mjjman.com/library/ubuntu:24.04
docker pull  huecker.io/library/ubuntu:24.04
docker pull  dockerhub.timeweb.cloud/library/ubuntu:24.04
docker pull  docker-cf.registry.cyou/library/ubuntu:24.04
docker pull  dockercf.jsdelivr.fyi/library/ubuntu:24.04
docker pull  dockertest.jsdelivr.fyi/library/ubuntu:24.04


docker pull dockerhub.azk8s.cn/library/ubuntu:24.04
docker pull mirror.ccs.tencentyun.com/library/ubuntu:24.04
docker pull registry.cn-hangzhou.aliyuncs.com/library/ubuntu:24.04
docker pull docker.m.daocloud.io/library/ubuntu:24.04


docker tag 8a3cdc4d1ad3 ubuntu:24.04

docker rmi docker.jsdelivr.fyi/library/ubuntu:24.04

WSL 磁盘空间释放

这是记录wsl运行中的异常文件

rm -rf /mnt/c/Users/wlky/AppData/Local/Temp/wsl-crashes/*