关于wsl2:WSL2-中如何限制内存占用

7次阅读

共计 949 个字符,预计需要花费 3 分钟才能阅读完成。

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

正文完
 0