在 Windows 中为 Docker 容器增加 GB 的 RAM

2024-02-03

我正在关注这个教程https://docs.docker.com/docker-for-windows/#docker-settings-dialog https://docs.docker.com/docker-for-windows/#docker-settings-dialog在 Windows 中安装 docker。我被困在“资源”选项卡下的“设置”部分。我的资源视图没有显示它在该链接上的显示方式。有没有办法增加我的 RAM,以便我可以让 ELK 运行。我使用 Hyper-V 安装了 Docker Desktop 应用程序。

这是我在我的设置中看到的。

我应该看到但没有看到的东西。


尽管您提到使用 Hyper-V,但由于您的屏幕截图(特别是 WSL 集成选项卡),我怀疑您可能在 WSL2 模式而不是 HyperV 模式下运行 Docker Desktop。 (据我了解,WSL2 在许多情况下是更新、更快的选项)。

有了这个假设,要更改 WSL 2 VM 中的 RAM,您必须创建一个C:\Users\username\.wslconfig包含 VM 设置的文件。详细信息描述于这一页 https://learn.microsoft.com/en-us/windows/wsl/wsl-config#configure-global-options-with-wslconfig它实际上是由您提到的页面链接到的。

这是一个例子.wslconfig file:

[wsl2]
memory=9GB # Limits VM memory

请注意,这适用于allWSL2 VM(我猜它们被称为发行版?),我不确定这是否完全正确,因为 Docker 似乎自己生成了 2 个发行版,再加上您拥有的任何其他发行版(请参阅wsl --list)。您想增加 RAMall发行版?

然而,引用这一页 https://learn.microsoft.com/en-us/windows/wsl/compare-versions:

WSL 2 的内存使用量会随着您的使用而增加或减少。当进程释放内存时,内存会自动返回到 Windows。

这对我来说听起来像是.wslconfig内存设置是一个最大大小,仅在需要时分配,因此我假设为所有 WSL 发行版设置它不会导致所有发行版在发行版启动时立即膨胀到 9GB,除非这些发行版尝试使用所有内存。

他们接着说:

但是,截至目前,在 WSL 实例关闭之前,WSL 2 尚未将内存中的缓存页面释放回 Windows。如果您长时间运行 WSL 会话或访问大量文件,则此缓存可能会占用 Windows 上的内存。我们正在跟踪改善这种体验的工作WSL Github 存储库问题 4166 https://github.com/microsoft/WSL/issues/4166

我在大型机器学习作业中遇到过这种内存膨胀问题,所以需要注意一些事情。

So, the .wslconfig改变似乎对我有用。另一个对我有帮助的选择是增加swap尺寸过孔.wslconfig,因为我的机器内存有限。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Windows 中为 Docker 容器增加 GB 的 RAM 的相关文章

随机推荐