wsl 2 的自动内存回收依赖较新的 wsl 运行时,并通过 windows 用户目录下的 .wslconfig 配置。先确认版本和现有工作负载,尤其是依赖 cgroup v1 的旧服务,再决定使用 gradual 还是 dropcache。
先确认 WSL 版本和当前内存占用
在 PowerShell 运行 wsl --version,再查看任务管理器中的 VmmemWSL 或相关 WSL 进程。版本过旧或命令提示未知配置项时,先运行 wsl --update,不要强写不受支持的参数。

编辑全局 .wslconfig
在资源管理器地址栏输入 %UserProfile%,创建或编辑 .wslconfig。添加 [experimental] 和 autoMemoryReclaim=gradual;需要更积极清缓存时可改为 dropcache,但先在非关键环境测试。

关闭 WSL 并观察回收效果
在 PowerShell 运行 wsl --shutdown 后重新启动发行版。让 WSL 空闲一段时间,再观察任务管理器和 Linux 中的 free -h;这个功能回收的是可释放缓存,不会压缩正在使用的进程内存。












