为何我的 wsl2 目录在 vscode 的 remote-wsl 扩展中打开如此之慢?

2021-02-21 12:32:35 +08:00
 syficy

之前习惯了在 wsl2 中开发,重装了 windows10 之后安装 wsl 和 vscode 的 remote-wsl 扩展,升级了 wsl2,发现打开 wsl2 目录的时间大约有两分钟,然而打开 wsl1 的速度在 5s 之内,之前系统打开 wsl2 速度也在 5s 之内。

2 分钟是用 vscode 扩展打开 wsl2 内目录的时间,wsl2 是在运行中的,用命令行可以秒进。

对于经常需要切换目录的开发者来说,2 分钟简直是人间地狱。

Debug 信息如下,主要是 pinging 的时间过长,不知道该如何解决。

[2021-02-21 04:21:44.845] Resolving wsl+Ubuntu20, resolveAttempt: 1
[2021-02-21 04:21:44.924] Starting VS Code Server inside WSL (Ubuntu20)
[2021-02-21 04:21:44.924] Extension version: 0.53.4, Windows build: 19041. Multi distro support: available. WSL path support: enabled
[2021-02-21 04:21:45.043] Using shell environment from invoking shell: /tmp/vscode-distro-env.HE2IGZ
[2021-02-21 04:21:45.196] Connecting to daemon started by other Remote-WSL window... 5.4.72-microsoft-standard-WSL2 Ubuntu20
[2021-02-21 04:21:45.203] Pinging 172.26.252.122:35521...
[2021-02-21 04:23:58.617] 172.26.252.122:35521 no response
[2021-02-21 04:23:58.618] WSL resolver response: ::1:35521
[2021-02-21 04:23:58.618] To debug connection issues, open a local browser on http://[::1]:35521/version
2615 次点击
所在节点    问与答
6 条回复
HankAviator
2021-02-21 15:24:28 +08:00
WSL2 已知在 /mnt 挂载下的磁盘操作效率非常差,官方表示在想办法了。受影响的最明显的是 WSL2 的 git,或许也是你的问题的原因。缓解办法时切到 WSL1 或在 WSL2 下调用为 win 编译的 exe 。
Robertwhite
2021-02-21 16:10:19 +08:00
@HankAviator 原来是这样,难怪我当时在 wsl2 上用 git 访问 D 盘的代码目录时,奇慢无比
syficy
2021-02-22 13:06:48 +08:00
@HankAviator 我的问题应该不是磁盘操作的问题,是 vscode 扩展打开目录慢,主要问题是在 pinging 的 response 太慢的问题上。
syficy
2021-02-22 13:08:18 +08:00
目前已通过重装系统解决问题,现在是基本秒开。初步猜测是 windows 主机的网络通信问题,但是我重装之前已关闭所有防火墙,仍然速度很慢,记录一下这个问题。
syficy
2021-03-20 18:43:00 +08:00
时隔一个月在另外一台电脑上出现了同样的问题,并找到了问题所在: 我的是由于 vscode 中设置了网络代理,并且在代理软件中设置了所有网络通过代理,关闭 vscode 的网路代理或者更改代理软件的路由规则可解决此问题。
hades97
7 天前
@syficy 近期我也遇到这个问题,我现在是使用 clash ,开 tun 模式。使用 vscode 来打开 wsl2 中的项目,耗时很久。不过我看了 vscode 的设置,里面没有设置 proxy 。

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

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

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

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

© 2021 V2EX