在Windows 10中使用Docker Desktop (19.03.13)和6个容器。具有16 in。
在docker stats中,每个容器消耗20-500MB,总共消耗约1 1gb。
但是在任务管理器中,docker会占用大约10 of的内存,并且会因为系统内存不足而崩溃。
如何检查,在docker中什么东西会消耗这么多内存?如何防止这种情况发生?
发布于 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解决了我的高内存使用问题。
发布于 2021-04-28 01:13:12
尝试在您的用户文件夹C:\Users\<my-user>的根目录下创建一个.wslconfig文件,以调整Docker将使用的内存和处理器数量。
这是.wslconfig文件的内容。
[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
发布于 2021-10-06 16:36:21
如果你使用的是WSL2,把它放到你内存中间的.wslconfig中。我不知道为什么,但我有同样的问题与8 8GB的内存。
这是我的.wslconfig
[wsl2]
memory=4GB # I have 8GB RAM
processors=2 结果很好,因为消耗很好!在这个时刻,我运行了一个带有8个镜像的Docker:

https://stackoverflow.com/questions/64612117
复制相似问题