抛弃 WSL2 使用 scoop 搭建开发环境

58 天前
 UncleCAT4

之前一直是用 WSL2 来作为开发环境的,博客、数据分析和编程等都在 WSL2 里进行,虽然 WSL2 已经很方便,但是我仍然心里有疙瘩,因为两个原因:Hyper-V 的性能损失和无法自动释放内存/硬盘。

实际上后面两个问题在 2.0.0 的 WSL 中(似乎)已经解决了,在去年的更新中,详情可见 微软开发者 blog,我仔细看了一下,似乎大部分的实质性更新都只在 Windows11 中适用,但是根据描述,部分实验性更新在 Windows10 中是可以用的,毕竟 Windows11 还是太抽象(个人感觉),我最关注的两个功能即内存回收与虚拟硬盘空间释放,似乎在 Windows10 中可用,但我测试了一下,使用 Windows10 LTSC 2021 最新可更新的 WSL ,两项功能在 .wslconfig 中可以正常启用,但没有效果。另一大问题就是性能损失问题了,据我个人测试,开启虚拟化之后 Windows 宿主机造成了大约 12%的性能损失。

下图是开虚拟化平台之前的跑分:

下图是开虚拟化平台之后的跑分:

为了保证跑分结果准确,我特意在两种情况下多跑了几次,分值都差不多。主要的损失来自于 CPU ,而 CPU12%的性能损失还是挺严重的。

这实际上不是 WSL 的锅,而是因为 Hyper-V ,开启虚拟化之后 Windows 宿主机也会变成一个 Hyper-V 的虚拟机,而这个变化通常情况下是无感的,但是 ... 我要打游戏 ...

于是只能去掉 WSL2 ,使用 scoop 来进行环境搭建。实际上 scoop 超乎了我的预期,它不仅可以装开发软件,甚至微信 QQ 这种日常生活软件也可以安装,而且第三方开发者提供的各种 buckets 包含了极多的软件!

如果以上我的说法什么的哪里有问题,还望 V 站前辈不吝赐教

5058 次点击
所在节点    程序员
44 条回复
lengyuqu
58 天前
@UncleCAT4 直接 winget 也可以
elevioux
58 天前
scoop 和 wsl 是完全不同的两个东西啊,怎么会有代替的说法呢?
zyxbcde
57 天前
我直接搞黑苹果装双系统
TGSAN
57 天前
1. 降低性能的是 VBS 而不是虚拟机平台
2. 中国和韩国的系统默认不开 VBS ,但是开了任何虚拟化相关的组件就会开 VBS https://learn.microsoft.com/zh-cn/windows-hardware/design/device-experiences/oem-hvci-enablement
3. 通过 secconfig 可以在不影响 hcs 、hyper-v 、wsl2 的情况下关闭 vbs (可以还原性能损失)
4. 跑分图一乐,开关 vbs 实际上影响不大。真的影响大的 oem 厂商让微软开了小灶,就算开了虚拟化组件也不会开 vbs

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1036347

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX