将WSL2的一些优化过程记录在这里(在想这些优化类的要么搞个分类,要么搞个时间轴,可能效果会更好)

终端美化

不想多说啥,

  • 安装oh-my-zsh
  • 配置power10k主题,命令高亮和自动补全插件
  • 安装JetBrains Mono字体

磁盘占用优化

参考链接:

日常使用WSL时,随着文件的不断创建与删除,WSL虚拟磁盘的体积会逐渐增大,甚至在删除文件后磁盘空间不会减小(笔者在最近几周频繁使用,直接从二十G翻倍到四十G~)。通过开启Sparse VHD(稀疏VHD)的方法,来使虚拟磁盘自动释放未使用的空间。

启用Sparse VHD功能

  1. 编辑.wslconfig文件(在windows用户主目录下,没有的话需要创建),添加以下内容

    1
    2
    [experimental]
    sparseVhd=true
  2. 关闭WSL

    1
    wsl --shutdown
  3. 为指定WSL发行版启用Sparse VHD

    1
    wsl --manage ubuntu22.04 --set-sparse true

    该命令只需运行一次,之后会默认保持启用状态。

如果发现ext4.vhdx没有减小,则需要手动压缩磁盘(管理员运行powershell)

1
2
3
4
wsl --shutdown
wsl --manage ubuntu22.04 --set-sparse false
optimize-vhd -Path <path-to-your-vhdx>.vhdx -Mode full
wsl --manage ubuntu22.04 --set-sparse true

验证功能是否启用

检查WSL磁盘文件(ext4.vhdx)是否减小

文件通常路径:

1
C:\Users\<YourUsername>\AppData\Local\Packages\<DistroPackage>\LocalState\ext4.vhdx

启动前

启动后

扩大内存

参考链接:Advanced settings configuration in WSL

WSL2默认只占用windows的一半内存,这里扩展到100%

编辑.wslconfig,添加以下内容:

1
2
[wsl2]
memory=32GB

然后重启WSL2即可

TODO:

  • 添加代理:拿到Windows网关ip,将ALL_PROXY环境变量设置为对应Windows主机ip+Windows主机上的梯子端口号即可。