在使用docker中,创建的容器越来越多,docker desktop使用的内存不会增多
据观察32G内存的机器,只使用了20G内存空间,再多就在使用swap分区,导致硬盘使用率增加
在这种背景下,进行对docker desktop最大内存调整
由于Windows版本的docker desktop是基于WSL2安装的,就需要了解WSL是什么?
WSL是什么?
适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销。通过WSL,开发人员可以安装 Linux 发行版,并直接在 Windows 上使用 Linux 应用程序、实用程序和 Bash 命令行工具,不用进行任何修改,也无需承担传统虚拟机或双启动设置的费用。
WSL与docker desktop关系
通过启用基于 WSL 2 的引擎,可以在同一计算机上的 Docker Desktop 中运行 Linux 和 Windows 容器。
所以说decker desktop是依赖于WSL,修改WSL的内存大小,就可以修改docker desktop的内存大小。
修改WSL配置
win + r,调出运行,输入“%UserProfile%”,进入用户文件夹
在用户文件夹下创建一个新的文件,改名为“.wslconfig”
打开文件,修改内容为
[wsl2]
memory=30GB
processors=4
swap=0
localhostForwarding=true
参数说明:
memory: 表示可以使用的最大内存;
processors: 使用的核心数量,默认和你的 Windows 系统使用的核心数一样;
swap: 表示可以使用的swap大小,这里设置为不使用swap分区;
localhostForwarding: 默认值为 true。如果 WSL 2 VM 中绑定到通配符或 localhost 的端口应该可以通过 localhost:port 从主机连接
WSL生效
配置完成后,配置无法立马生效,这里想到可以将WSL重启一下,故做了尝试
在后台进程将docker desktop的进程都杀掉
win + r,调出运行,输入“cmd”
wsl --shutdown
将wsl停掉
然后打开docker desktop,把容器中各类程序拉起来
后续观察到之前最多用20G的内存,现在用满了30G
网友评论