在长时间应用 WSL 开发我的项目时, 关上工作管理器,会发现 VmmemWSL
这个过程占用了超多的内存, 并使得咱们的电脑运行变慢,甚至会呈现蓝屏关机。
wsl 内存占用过高
通过查阅 微软对于WSL 内存应用的官网文档, build 20175 版本,之后,windows 零碎默认,WSL 能应用的最大内存为 零碎总内存的 50% , 在这个版本之前的 windows 零碎,能应用的最大内存,不超过零碎的80%。 额, 简略来讲, 就是 近期的 Win 11 零碎,默认 wsl 能应用的最大内存, 为零碎的50% 。 如果不确定, 你的WSL 零碎的内存和 共享内存指定状况,你能够关上powerShell 进入你的 linux 零碎。
输出 如下linux 命令就能查看目前你的零碎内存应用:
free -h --giga
在我零碎上,显示的是如下内容。
这意味着,当你应用WSL2 的时候。 你的零碎内存,间接划分进来了5G 。
当你在应用内存占用较大的利用,如 chrome , idea , webStorm 等很容易引起你的内存告急。
那咱们如何解决这个问题呢?
- 微软在wsl 2 中,提供了指定配置 wsl 可用内存的方法.
接下来介绍一下,如何配置wsl 2 内存空间的方法。
创立 .wslconfig 文件。
第一种方法:
在资源管理器的地址栏里 输出C:\Users\YourUsername
, 查看是否有 .wslconfig 文件。 如果没有, 间接右键创立一个。
第二种方法:
关上powerShell , 进入 wsl 。
应用如下命令编辑:
vi "$(wslpath "C:\Users\YourUsername\.wslconfig")"
在输出命令时, 切记, 把 yourUsername 换成你的windows 用户名。 别间接复制了,我的提供的命令。
在这里,我抉择,我最相熟的 第二种形式。 间接用vi 编辑。
第一次编辑的话。 应该是关上了一个空文件。 如下图所示:
间接 i 键, 开始输出. 在文件里输出如下内容。
[wsl2]memory=3GB
因为我根本就跑node 的运行时。 3 - 5G 就足够用了。 所以限度3G 。
编辑完, config 文件,咱们重启咱们的WSL 零碎。
WSL 的重启方法是间接应用powerShell 命令。
wsl --shutdown
敞开之后。 在次 通过 wsl 进入 。
应用free 命令 验证一下方才的配置是否失效, 如果没胜利。 按上边的步骤在来一此。