首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker桌面耗尽所有内存并崩溃

Docker桌面耗尽所有内存并崩溃
EN

Stack Overflow用户
提问于 2020-10-31 00:19:50
回答 6查看 6.8K关注 0票数 8

在Windows 10中使用Docker Desktop (19.03.13)和6个容器。具有16 in。

docker stats中,每个容器消耗20-500MB,总共消耗约1 1gb。

但是在任务管理器中,docker会占用大约10 of的内存,并且会因为系统内存不足而崩溃。

如何检查,在docker中什么东西会消耗这么多内存?如何防止这种情况发生?

EN

回答 6

Stack Overflow用户

发布于 2020-11-17 15:04:47

我猜你正在使用新的基于WSL2的引擎,尝试通过打开docker settings -> general ->取消选中Use WSL 2 based Engine来将docker引擎切换回Hyper-V。

要解释的

我注意到,自从WSL2引擎引入以来,它就开始在我身上发生,我自动切换到它,因为它是一个新引擎;从那时起,内存问题就开始出现了。

重新启动/关闭docker并没有释放内存,我注意到任务管理器中的Vemm占用了所有内存,所以必须强制关闭它(导致docker无法工作)。

我做的最后一件事是将docker引擎切换回Hyper-V解决了我的高内存使用问题。

票数 6
EN

Stack Overflow用户

发布于 2021-04-28 01:13:12

尝试在您的用户文件夹C:\Users\<my-user>的根目录下创建一个.wslconfig文件,以调整Docker将使用的内存和处理器数量。

这是.wslconfig文件的内容。

代码语言:javascript
复制
[wsl2]
memory=2GB   # Limits VM memory in WSL 2 up to 2GB
processors=2# Makes the WSL 2 VM use two virtual processors

然后,重新启动计算机。您会发现Vemm进程将只占用您之前定义的内存量。

您可以在这里了解更多信息here

票数 6
EN

Stack Overflow用户

发布于 2021-10-06 16:36:21

如果你使用的是WSL2,把它放到你内存中间的.wslconfig中。我不知道为什么,但我有同样的问题与8 8GB的内存。

这是我的.wslconfig

代码语言:javascript
复制
[wsl2]
memory=4GB # I have 8GB RAM
processors=2 

结果很好,因为消耗很好!在这个时刻,我运行了一个带有8个镜像的Docker:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64612117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档