这里说的 wsl2 不是指在上面跑个 demo,而是在 wsl2 开 emacs/vim 进行开发。
我的体验就是一个字,卡。打字有非常明显的延迟,不只是 Emacs, Vim 也是。
装虚拟机的体验比 wsl2 好的多,所以现在我都在虚拟机开 Emacs 进行开发。
这里说的 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)
WSL2+ubuntu 22.04,开发在WSL2中进行,文件没放在Win的文件夹中,Emacs无卡顿,非常流畅。
你看看 text-mode 下是否卡顿?
win11 WSLg Debian bookworm emacs28.2 基本没有卡顿现象
可以试试emacs -Q
从最小配置看看有没有问题