我用的电脑一共有40G内存,最近发现电脑重启后,VmmemWSL 进程很快就会占用一多半的内存(20+G),电脑中有多个停止运行的容器,正常启动状态的只有一个 MySQL 服务,通过 docker stats
查看占用内存也不多,不知道为什么会占用这么多内存,但是必须限制一下。
Docker Desktop 早期版本可以直接配置内存使用,改成 WSL 方式后需要去调整 WSL 的资源使用,参考官方文档中的示例 做了以下调整:
# Settings apply across all Linux distros running on WSL 2
[wsl2]
# Limits VM memory to use no more than 8 GB, this can be set as whole numbers using GB or MB
memory=8GB
# Sets the VM to use two virtual processors
processors=4
# Sets additional kernel parameters, in this case enabling older Linux base images such as Centos 6
kernelCommandLine = vsyscall=emulate
# Sets服务器托管网 amount of swap storage space to 8GB, default is 25% of available RAM
swap=8GB
# Disable page reporting so WSL retains all allocated memory claimed from Windows and releases none back when free
pageReporting=false
# Turn off default connection to bind WSL 2 localhost to Windows localhost
localhostforwarding=true
# Disables nested virtualization
nestedVirtualization=false
# Turns on output console showing contents of dmesg when opening a WSL 2 distro for debugging
debugConsole=true
# Enable experimental features
[experimental]
autoMemoryReclaim=gradual
sparseVhd=true
将上面内容保存到 C:Users用户名.wslconfig
文件中。
上面配置限制内存和交换内存都是 8G,可以根据自己内存进行调整。配置autoMemoryReclaim=gradual
后还可以 检测空闲 CPU 使用率后,自动释放缓存的内存。 设置为 gradual 以慢速释放,设置为 dropcache 以立即释放缓存服务器托管网的内存。
修改配置后关闭 Docker,关闭 WSL(wsl --shutdown
),然后启动 WSL 和 Docker,此后占用内存就很少了。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
相关推荐: 30岁,收入多少才够用?月入一万以下的都是垃圾吗?
30岁,这是一个许多人开始考虑收入多少才够用的年龄。在当今竞争激烈的社会,人们追求的是更好的生活质量和高薪工作。但是,月入一万以下的收入真的是垃圾吗? 首先,让我们来讨论一下30岁的人群。这是一个相对年轻的年龄,但也是一个充满机会和挑战的时期。30岁的人通常需…