Docker Desktop Vmmem内存占用过高问题解决方案
内存占用过高原因
主要原因是docker desktop的实现及基于wsl(Windows子系统),相当于在Windows上同时开了一个虚拟机,如果不对wsl的资源进行限制,它将会极大的获取系统资源.所以我们只需要对wsl的最大资源进行限制即可
解决方案
-
修改wsl配置文件
官方地址
具体配置:
[wsl2]
memory=4GB
processors=2
kernel=C:\\temp\\myCustomKernel
kernelCommandLine = vsyscall=emulate
swap=8GB
swapfile=C:\\temp\\wsl-swap.vhdx
pageReporting=false
localhostforwarding=true
nestedVirtualization=false
debugConsole=true
-
在用户目录创建个.wslconfig文件,即C:\Users\<UserName>\.wslconfig
-
创建完成后将配置文件内容粘贴进去
[wsl2]
processors=2
memory=512MB
swap=8GB
localhostForwarding=true
swapfile=D:\\temp\\wsl-swap.vhdx
-
保存后以管理员打开powershell,执行如下语句关闭wsl:
wsl --shutdown
-
重启docker desktop即可
后续问题(缺点)
如果内存设置的太小了,后续可能会出现docker desktop 运行一段时间退出,或者容器会突然停止工作
所以我们的memory=512MB
要根据自己启动的容器所占内存大小稍大一点即可,但是如果是后续需要增加容器需要自己手动再次扩大memory
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)