请问道友们的 wsl2 流畅吗?

这里说的 wsl2 不是指在上面跑个 demo,而是在 wsl2 开 emacs/vim 进行开发。

我的体验就是一个字,卡。打字有非常明显的延迟,不只是 Emacs, Vim 也是。

装虚拟机的体验比 wsl2 好的多,所以现在我都在虚拟机开 Emacs 进行开发。

已经切换到 wsl2 一个月了,每天使用emacs无明显卡顿和异常。

主机 5820k + 32G 内存 发行版用的 arch。配置方式为 arch系统使用自身 vhdx,挂载一个外部的 ssd 到 wsl2 来进行实际的代码等存储

WSL 版本: 1.1.6.0
内核版本: 5.15.90.1
WSLg 版本: 1.0.50
MSRDC 版本: 1.2.3770
Direct3D 版本: 1.608.2-61064218
DXCore 版本: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows 版本: 10.0.22621.1413

wsl2启动默认配置占16g内存,可以尝试下 .wslconfig

[wsl2]

swap=0
pageReporting=false

正常来讲应该是流畅的,性能也不差,输入命令的时候卡的话,我遇到过,是使用zsh+suggestion插件的时候会很卡,原因是在windows文件系统自动挂载到wsl中后效率很低,同时wsl2默认是会添加windows下的环境变量的,所以输入命令时会不断地查找环境变量里的可执行文件,所以我改了个设置,不让他继承windows的环境变量,也就不卡了。

Arch WSL1

Arch WSL2

Ubuntu 22.04 WSL2

以上3种组合都使用过,其中第一种用了一年多,用于访问在win分区的仓库,第二种用了3个月,用于访问在wsl文件系统里的仓库,第三种和第二种差不多,只是因为有个开发环境要求Ubuntu。 只要WSL2不去访问win下的文件,我都没遇到什么卡顿

非常流畅,WSL2 + Ubuntu

你跨文件系统那当然卡。如果在 linux 的分区系统下使用,非常流畅,和 macos 基本无异。tty的启动时间 0.3s,gui 0.4s,都和 macos 地下速度差不多。

用了一年多了,非常流畅。

wsl2+emacs 和 vm+ssh+emacs 都用过很长时间,wsl2 不走 ssh 速度更快且不会断开连接,与 windows 宿主机交互也更方便。

wsl2 会卡应该是与宿主机交互了,比如访问宿主机的文件系统或 xserver。

可以考虑清理 PATH 里的 /mnt/c/,

(defun +wsl-eshell-cleanup-path ()
  (interactive)
  (let* ((path (getenv "PATH"))
         (path (split-string path ":"))
         (path (seq-filter
                (lambda (x) (not (string-prefix-p "/mnt/" x)))
                path))
         (path (string-join path ":")))
    (eshell/export (concat "PATH=" path))))

(add-hook 'eshell-mode-hook '+wsl-eshell-cleanup-path)
2 个赞

WSL2+ubuntu 22.04,开发在WSL2中进行,文件没放在Win的文件夹中,Emacs无卡顿,非常流畅。

你看看 text-mode 下是否卡顿?

win11 WSLg Debian bookworm emacs28.2 基本没有卡顿现象

可以试试emacs -Q从最小配置看看有没有问题