必须通过.wslconfig文件限制wsl2 cpu核心数:在%userprofile%下新建无扩展名的.wslconfig,写入[wsl2]processors=4(建议设为物理核心数的75%),保存为utf-8无bom编码,再以管理员身份运行wsl --shutdown使配置生效。

在Windows 11中运行WSL2时,若发现主机响应变慢、风扇狂转或编译任务卡顿,大概率是WSL2默认占用了全部CPU核心,导致Windows系统资源被挤压。此时必须通过.wslconfig文件主动限制其可用CPU数量,否则vmmem进程会持续抢夺计算资源,连打开浏览器都可能卡顿。
创建并定位.wslconfig文件
按下 Win + R 打开“运行”窗口,输入 %UserProfile% 并回车,直接进入当前Windows用户主目录(如 C:\Users\YourName)。
在该目录下新建一个纯文本文件,命名为 .wslconfig ——注意开头必须是英文点号,且不能有任何扩展名(如 .txt);若系统隐藏已知文件类型,务必在“查看”选项卡中勾选“文件扩展名”,确认文件名确实是 .wslconfig 而非 .wslconfig.txt。
写入processors参数并保存
用记事本或 VS Code 打开刚创建的 .wslconfig 文件,在其中写入以下内容:
[wsl2]
processors=4
这里的 4 表示允许WSL2最多使用4个逻辑CPU核心;如果你的CPU是8核16线程,建议设为 6(即物理核心数的75%),既保障Linux任务性能,又给Windows留出足够响应余量。设为 processors=50% 也是合法写法,但部分旧版WSL内核不识别百分比语法,【务必优先使用整数形式】。
保存文件时,必须选择 UTF-8 无 BOM 编码格式——在记事本中需点击“另存为”,在底部“编码”下拉菜单里手动选中“UTF-8”,否则WSL可能完全忽略该配置文件。
使配置立即生效
以管理员身份打开 PowerShell,执行:
wsl --shutdown
该命令会强制终止所有正在运行的WSL2实例及后台vmmem进程,是唯一能确保新配置加载的方式。执行后不要手动重启任何发行版,直接关闭PowerShell窗口即可。
重新打开Ubuntu(或其他发行版)终端,运行以下命令验证:
nproc
输出数字应与你配置的 processors 值完全一致。若仍显示主机总核心数,则说明文件路径错误、编码不对或未执行 shutdown,需返回前两步逐项排查。











