时至今日, WSL 仍然难用

2024 年 3 月 21 日
 weijancc
前段时间因为重装了 Windows, 想着就装个 Docker 吧, 装软件省事. 但最终依赖的 Hyper-V 是全局虚拟化, 使得宿主机也被虚拟化, 能够明显感到掉帧, 从 wsl2 发行到现在 Hyper-V 还是一样糟糕, 最后还是使用回了虚拟机 Docker.

不知道 2020 年左右简中怎么流行了"Windows 是最好的 Linux 发行版", 真的不想再看到这句话了, 被骗了好几次, 感觉说这个都没用过虚拟机或 VPS 的正版 Linux, WSL 一点都不配.(我的 Windows 配置 i9+4060+40G 内存).
32147 次点击
所在节点    程序员
145 条回复
weijancc
2024 年 3 月 21 日
@zbatman 我说了是因为 windows 是全局虚拟化的好吗? 在用 mac 之前我用过几次 wsl 还是卸载了
cc666
2024 年 3 月 21 日
但我是完美主义, 无法忍受这点损耗 -> "我本人是写 Java 和前端的"
虽然我也是写 java 的,但我看到了真的忍不住笑
Mac 上的 Docker Desktop 即不会影响宿主机性能->正在 mac 上用 docker 的我在笑,进入了资源节省模式,内存消耗 1G ,启动时间六七秒
leaflxh
2024 年 3 月 21 日
操作系统界原神
LongMaoz
2024 年 3 月 21 日
@weijancc 你能不能去看看文档再来说 windows 是全局虚拟化啊?
https://learn.microsoft.com/en-us/virtualization/hyper-v-on-windows/reference/hyper-v-architecture
原文都发给你了你是看不明白吗 ?
"Sometimes called parent partition. Manages machine-level functions such as device drivers, power management, and device hot addition/removal. The root (or parent) partition is the only partition that has direct access to physical memory and devices."
不行我再给你翻译翻译 windows 并不运行在虚拟机环境中 而是存在根分区直接访问硬件和内存
DearTanker
2024 年 3 月 21 日
确实,要打游戏的话,Windows 任何虚拟机软件都不能装,不然性能损失很大。

最明显的就是对内存延迟敏感的吃鸡。

虚拟机软件一装(不管哪种虚拟化),内存延迟差不多得+ 10ns
MrKrabs
2024 年 3 月 21 日
wsl 可以和 windows 软件 pipe 来 pipe 去,虚拟机行吗
xiaoxinshiwo
2024 年 3 月 21 日
用 vagrant + virttual box 吧
cnbatch
2024 年 3 月 21 日
如果无法忍受 hyper-v 的性能损失(对于玩游戏有不良影响),那么正确的做法不是换 Mac ( Docker 启动都要好几秒),而是专门用一台电脑运行 Linux 。

我也不喜欢在 Windows 客户版系统开启 Hyper-V ,也不是很喜欢在 Windows 安装虚拟机(多出 N 个虚拟网卡,很不爽),所以最后还是装了一台非 Windows 、非 MAC 的电脑
loveDiu4ever
2024 年 3 月 21 日
关键是 wsl 的网络修了好几次 只要挂上代理,不是 tun 模式难以琢磨 就是 vpn 网络下受限,反正 wsl 2 都不如 wsl1 的网络好配置
uliah
2024 年 3 月 21 日
wsl2 有 linux 内核,你可以尝试在 wsl2 系统中装 docker ,替换 windows Docker Desktop
uliah
2024 年 3 月 21 日
关于 docker, wsl2 有 linux 内核,你可以尝试在 wsl2 系统中装 docker 代替 windows Docker Desktop
关于 IO, 尽量把文件放在 wsl2 中,vscode wsl remote 是非常不错的工作方式
关于 GUI, 抱歉没有用过
关于 Mac, 你应该用 Win 去比较 Mac 和 Linux, 而不是 wsl2
AS4694lAS4808
2024 年 3 月 21 日
@loveDiu4ever 任意小飞机 + (proxifier + HTTP_PROXY)嘛,没有任何干扰
AS4694lAS4808
2024 年 3 月 21 日
简中+正版 Linux 呃
Leviathann
2024 年 3 月 21 日
@princesswar721 最新版在 wslconfig 里把网络模式改成 mirrored 然后代理软件开系统代理就行,别的都不用配了
beatboxgao
2024 年 3 月 21 日
利益相关:Windows ,Mac ,Arch 都用
在 Windows 笔记本上安装了 WSL2 之后,试了一下 VSCode 的远程开发,连上 WSL 感觉和本机没啥感觉,就是需要在 WSL 里面再装一遍插件而已。而且 WSL2 装的也是 Arch ,挺方便的。
当然了,据说 Jetbrains 什么的远程开发没有 VSCode 的好用,我也没测过。
kryptono
2024 年 3 月 21 日
wsl 可以动态分配内存,就这点就比虚拟机好用了
而且 vscode 访问 wsl 里的文件也很顺畅
yougotme
2024 年 3 月 21 日
win11 wsl 我用着很爽,已经淘汰虚拟机了
YsHaNg
2024 年 3 月 21 日
竟然还有夸 Docker Desktop For Mac 的
iewgnaw
2024 年 3 月 21 日
确实难用,开个虚拟机加 docker 也不占什么资源,而且不用折腾一大堆莫名其妙的问题。

WSL 唯一比虚拟机好的地方应该就是可以直接使用 GPU
neoblackcap
2024 年 3 月 21 日
@ShadowPower Hyper-V 跟 VMware 都是虚拟化第一梯队,Virtualbox 的性能跟他们比还是有差距,拿 KVM 跟他们比还差不多的。

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

https://v2ex.ih06.com/t/1025657

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

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

© 2021 V2EX