从 32 GB RAM 切换到 64 GB 后,WSL2 仍然拒绝使用超过 32 GB?

从 32 GB RAM 切换到 64 GB 后,WSL2 仍然拒绝使用超过 32 GB?

我在 Windows 11 上使用 WSL2(适用于 Linux 的 Windows 子系统)。我最近将 RAM 从 32 GB 升级到了 64 GB。

虽然我可以让电脑使用超过 32 GB 的 RAM,但 WSL2 似乎拒绝使用超过 32 GB。例如,如果我这样做

$ python3
>>> import torch
>>> a = torch.randn(100000, 100000) # 40 GB tensor

然后我看到内存使用量上升,直到达到 30 GB 左右,此时,我看到“已终止”,python 进程被终止。检查后dmesg,它说它终止该进程是因为“内存不足”。

知道可能存在什么问题吗?或者解决方案是什么?

答案1

在这里找到答案:https://stackoverflow.com/a/72693871/1114253 基本上,WSL2 默认只允许使用一半的内存,你必须更新(或创建)你的 .wslconfig 文件以使其更高。

相关内容