Windows Terminal搭配WSL在电脑休眠后异常卡顿的已知问题咨询
Windows Terminal搭配WSL在电脑休眠后异常卡顿的已知问题咨询
你遇到的这个情况确实是不少WSL用户反馈过的已知问题,大概率是WSL在系统休眠唤醒的过程中出现了内存泄漏,导致Vmmem进程持续占用大量内存,进而拖慢了Windows Terminal以及从它启动的应用(比如VS Code)。
给你几个不用重启电脑就能缓解的方法:
- 手动关闭所有WSL实例:打开PowerShell或者CMD,执行命令
wsl --shutdown,这个操作会关闭所有WSL分发版,之后重新打开WSL,Vmmem的内存占用应该会恢复正常,终端和关联应用的卡顿也会消失。 - 给WSL设置内存上限:在你的Windows用户目录下(比如
C:\Users\你的用户名\)创建一个名为.wslconfig的文件,添加以下配置内容(可以根据你的电脑总内存调整数值):
[wsl2] memory=4GB # 示例设置为4GB,若你的电脑是16GB内存可以设为8GB swap=0 localhostForwarding=true
保存文件后执行wsl --shutdown重启WSL,之后Vmmem的内存占用会被限制在你设置的数值内,就算再出现泄漏也不会过度占用系统资源。
- 提前关闭WSL再休眠:如果条件允许,在电脑休眠前手动关闭WSL终端,或者写个简单的脚本自动执行
wsl --shutdown,能从源头降低内存泄漏的发生概率。
另外,微软在后续的WSL版本更新中已经针对这类休眠唤醒的内存问题做了不少修复,建议你定期通过PowerShell执行wsl --update来更新WSL,同时保持Windows系统处于最新状态,新版本大概率能改善甚至解决这个问题。
备注:内容来源于stack exchange,提问作者Leftover Salad
相关产品推荐
相关产品推荐

