You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows 11中关闭WSL2/WSLG/VSCode后vmmem未自动关闭求助

解决WSL关闭终端/VSCode后vmmem进程持续占用内存的自动关闭方法

问题背景

我一直在VSCode中使用WSL,近期发现关闭VSCode或单个WSL终端后,vmmem进程仍持续占用大量内存。已知可通过CMD或PowerShell执行wsl --shutdown手动关闭该进程,但希望找到关闭WSL终端或VSCode时自动关闭vmmem的方法。该问题此前未出现,推测由Windows更新导致,已尝试更新WSL及Windows版本,但未找到有效解决方案。

当前WSL版本信息:

Version WSL : 0.70.4.0
Version du noyau : 5.15.68.1
Version WSLg : 1.0.45
Version MSRDC : 1.2.3575
Version direct3D : 1.606.4
Version de DXCore : 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
version Windows : 10.0.22000.1098

解决方案

方法1:配置WSL自动终止闲置实例

WSL支持设置自动关闭闲置的分发版,通过修改全局配置实现:

  • 在Windows用户目录(C:\Users\<你的用户名>)下创建或编辑.wslconfig文件
  • 添加以下配置:
[wsl2]
# 设置闲置10分钟(600000毫秒)后自动关闭分发版
memoryIdleTimeout=600000
  • 保存文件后执行wsl --shutdown生效,后续闲置的WSL实例会在指定时间后自动关闭,释放vmmem占用的内存。

方法2:给VSCode添加关闭时自动终止WSL的任务

利用VSCode的任务功能,在关闭工作区窗口时触发WSL shutdown:

  1. 打开VSCode,按Ctrl+Shift+B打开任务面板,选择「创建tasks.json文件」→「Others」模板
  2. 替换tasks.json内容为:
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Shutdown WSL on VSCode Close",
            "type": "shell",
            "command": "wsl --shutdown",
            "runOptions": {
                "runOn": "folderClose"
            },
            "problemMatcher": []
        }
    ]
}
  1. 保存后,每次关闭VSCode的WSL工作区窗口时,会自动执行wsl --shutdown关闭所有WSL实例。

方法3:给WSL终端配置退出时自动关闭实例

以Windows Terminal为例,配置终端退出时触发WSL关闭命令:

  1. 打开Windows Terminal设置,找到目标WSL分发版的配置项
  2. 将「命令行」修改为:
wsl.exe -d <你的分发版名称> --exec bash -c "exec bash; wsl --shutdown"

替换<你的分发版名称>为实际名称(如Ubuntu-20.04),退出终端bash会话时会自动触发wsl --shutdown。

方法4:手动终止单个WSL分发版(不影响其他实例)

如果不想关闭所有WSL实例,可针对单个分发版执行:

wsl -t <分发版名称>

例如wsl -t Ubuntu-20.04,仅终止指定实例并释放对应内存。


内容的提问来源于stack exchange,提问作者Telli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 11:10:37