当前位置: 首页 > Linux

WSL2中如何限制内存使用

时间:2023-04-06 11:15:47 Linux

长时间使用WSL开发项目时,打开任务管理器,你会发现VmmemWSL进程占用大量内存,让我们的电脑运行变慢,甚至发生蓝屏关机。wsl内存占用过高。查看微软关于WSL内存使用的官方文档。build20175之后,windows系统默认WSL最大可以使用的内存是系统总内存的50%。此版本之前的Windows系统可以使用系统最大内存不超过系统的80%。嗯,简单来说就是最近的Win11系统。wsl可以使用的默认最大内存是系统的50%。如果你不确定你的WSL系统的内存和共享内存规格,你可以打开powerShell进入你的linux系统。输入以下linux命令查看你系统当前的内存使用情况:free-h--giga在我的系统上,显示如下。这意味着,当您使用WSL2.你的系统内存直接分配到5G。当你在使用内存占用较大的应用程序时,比如chrome、idea、webStorm等,很容易导致你的内存耗尽。那么我们如何解决这个问题呢?在wsl2中,微软提供了一种方法来指定和配置wsl的可用内存。接下来介绍如何配置wsl的内存空间2.创建.wslconfig文件。第一种方法:在资源管理器地址栏输入C:\Users\YourUsername,查看是否有.wslconfig文件。如果没有,请右键单击以创建一个。第二种方式:打开powerShell,输入wsl。使用以下命令进行编辑:vi"$(wslpath"C:\Users\YourUsername\.wslconfig")"输入命令时,请记住将yourUsername替换为您的Windows用户名。不要直接复制,我提供的命令。这里,我选择第二种方式,也是我最熟悉的方式。直接用vi编辑。首先编辑的话。它应该打开一个空文件。如下图所示:直接按i键开始打字。在文件中输入以下内容。[wsl2]memory=3GB因为我基本上跑的是node的runtime。3-5G就够了。所以限制3G。编辑配置文件后,我们重新启动WSL系统。重启WSL的方法是直接使用powerShell命令。wsl--shutdown关闭后。此时通过wsl进入。使用free命令验证刚才的配置是否生效,如果没有生效。按照上面的步骤来到这里。