在长时间应用 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 命令 验证一下方才的配置是否失效,如果没胜利。按上边的步骤在来一此。