wsl设置内存后没有任何变化

装了wsl之后,内存占用特别高,我按照网上的设置在%UserProfile%中设置了
文件Vmmem.wslconfig
#.wslconfig
[wsl2]
memory=3GB //分配给WSL内存3GB
swap=4GB //设置交换分区4GB
localhostForwarding=true
但是重启电脑后,查看内存free -h --giga仍然显示
Mem:7.9G
Swap:2.0G
我的物理内存是16G,但是我反复核查感觉就是和网上说的一样,但是为什么没有起效呢
我的WSL安装在H盘,会和这个有关吗
另外就是通过swapfile设置H:\Ubuntu_WSL\swap.vhdx中这个swap.vhdx是自动生成还是需要自己手工新建的,我从其他地方拷贝过来能直接用吗,我原来是在C盘装的WSL,因此有一个swap.vhdx

我的机子内存和你的一样,安装的版本是:
Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.15.90.4-microsoft-standard-WSL2 x86_64)

hann@HannYang:~$ free -h --giga
              total        used        free      shared  buff/cache   available
Mem:           7.8G        527M        6.5G        4.0M        738M        7.0G
Swap:          2.0G          0B        2.0G
hann@HannYang:~$

操作步骤:

  1. 按下Windows + R 键,输入 %UserProfile% 并运行进入用户文件夹

  2. 新建文件 .wslconfig ,加入以下内容:
    [wsl2]
    memory=4GB
    swap=8GB
    localhostForwarding=true

  3. 最后,要确保所有更改都生效,在cmd窗口中执行: wsl --shutdown

你是不是第3步没有操作呢,.wslconfig 文件在 %UserProfile% 目录下。

实测有效:
hann@HannYang:~$ free -h --giga
total used free shared buff/cache available
Mem: 3.9G 699M 2.6G 4.0M 658M 3.0G
Swap: 8.2G 0B 8.2G

如有帮助,请采纳。谢谢

wsl配置文件%UserProfile%.wslconfig
swap文件路径可以指定
swapfile=C:\wsl-swap.vhdx
配置文件保存后,wsl --shutdown关闭后再启动wsl

我就是这么设置的,但是没变话,打开后还是8G内存,另外就是swap.vhdx需要自己新建吗,我原来的文件夹里面没有

【以下回答由 GPT 生成】

根据你提供的问题描述,以下是一些可能的解决方案和建议:

  1. 确认WSL版本和WSL内存限制支持情况:首先,确保你的Windows系统已启用WSL 2,并且拥有适当的Windows版本(例如Windows 10版本1903或更高)。同时,查看你当前的WSL版本,可以通过在Windows命令提示符或PowerShell中运行以下命令来检查:wsl --list --verbose。确保版本显示为WSL 2。如果版本不正确,则可能需要升级或重新安装WSL。

  2. 检查WSL配置文件的位置:在你的问题描述中提到你创建了两个配置文件,分别为"Vmmem.wslconfig"和".wslconfig"。请注意,使用WSL 2时,应该使用".wslconfig"文件进行配置,而不是"Vmmem.wslconfig"。因此,请确保你在正确的位置创建并修改了".wslconfig"文件。

  3. 检查配置文件中的正确性:在你的配置文件中,确保设置了正确的内存和交换空间值。确认内存和交换空间的设置语法正确,例如将内存值写为"3GB"而不是"3 GB"。确保没有其他拼写错误或格式错误。

  4. 重启WSL服务:作出更改后,重启WSL服务以使其生效。可以在Windows命令提示符或PowerShell中使用以下命令重启WSL服务:wsl --shutdown。然后,重新打开WSL终端进行测试。

  5. 检查WSL安装位置:你在问题描述中提到你在H盘上安装了WSL。通常情况下,WSL应该安装在系统盘(通常是C盘)上,但是在其他盘上安装WSL不应该影响到内存设置。不过,为了排除任何潜在的问题,建议将WSL安装在默认的系统盘上,即C盘。

  6. 使用swapfile设置交换空间:如果你想使用swapfile来设置交换空间,可以手动创建swapfile。如果你之前在C盘上已经有一个swap.vhdx文件,你可以尝试将其拷贝到H盘上并使用。请确保在将swapfile放置到正确路径和文件名中,并且在配置文件中指定了正确的交换空间值。

如果在尝试了以上解决方案后问题仍然存在,请提供更多的细节和信息以帮助进一步分析和解决该问题。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^