Docker Desktop Vmmem內(nèi)存占用過高問題及完美解決方案
Docker Desktop Vmmem內(nèi)存占用過高問題解決方案

內(nèi)存占用過高原因
主要原因是docker desktop的實現(xiàn)及基于wsl(Windows子系統(tǒng)),相當于在Windows上同時開了一個虛擬機,如果不對wsl的資源進行限制,它將會極大的獲取系統(tǒng)資源.所以我們只需要對wsl的最大資源進行限制即可
解決方案
修改wsl配置文件
具體配置:
# Settings apply across all Linux distros running on WSL 2 [wsl2] # Limits VM memory to use no more than 4 GB, this can be set as whole numbers using GB or MB memory=4GB # Sets the VM to use two virtual processors processors=2 # Specify a custom Linux kernel to use with your installed distros. The default kernel used can be found at https://github.com/microsoft/WSL2-Linux-Kernel kernel=C:\\temp\\myCustomKernel # 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 # Sets swapfile path location, default is %USERPROFILE%\AppData\Local\Temp\swap.vhdx swapfile=C:\\temp\\wsl-swap.vhdx # 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
在用戶目錄創(chuàng)建個.wslconfig文件,即C:\Users\<UserName>\.wslconfig
創(chuàng)建完成后將配置文件內(nèi)容粘貼進去
[wsl2] #配置wsl的核心數(shù) processors=2 #配置wsl的內(nèi)存最大值 memory=512MB #配置交換內(nèi)存大小,默認是電腦內(nèi)存的1/4 swap=8GB #關(guān)閉默認連接以將 WSL 2 本地主機綁定到 Windows 本地主機 localhostForwarding=true #設(shè)置臨時文件位置, 默認 %USERPROFILE%\AppData\Local\Temp\swap.vhdx swapfile=D:\\temp\\wsl-swap.vhdx
保存后以管理員打開powershell,執(zhí)行如下語句關(guān)閉wsl:
wsl --shutdown
重啟docker desktop即可
后續(xù)問題(缺點)
如果內(nèi)存設(shè)置的太小了,后續(xù)可能會出現(xiàn)docker desktop 運行一段時間退出,或者容器會突然停止工作
所以我們的memory=512MB要根據(jù)自己啟動的容器所占內(nèi)存大小稍大一點即可,但是如果是后續(xù)需要增加容器需要自己手動再次擴大memory
到此這篇關(guān)于Docker Desktop Vmmem內(nèi)存占用過高問題解決方案的文章就介紹到這了,更多相關(guān)Docker Desktop Vmmem內(nèi)存占用過高內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Conda環(huán)境創(chuàng)建Docker鏡像的完整步驟指南
Docker是實現(xiàn)容器化的主流工具之一,而Conda作為科學計算和Python的包管理器,與Docker的結(jié)合能為開發(fā)者提供高度靈活、易于管理的開發(fā)環(huán)境,這篇文章主要介紹了使用Conda環(huán)境創(chuàng)建Docker鏡像的完整步驟,需要的朋友可以參考下2025-03-03
Docker Compose 部署 MySQL 中文亂碼避坑指南
本文主要介紹了Docker Compose 部署 MySQL 中文亂碼避坑指南,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2026-05-05
docker?pull報錯unexpected?EOF問題的解決方案
在清理Docker私有倉庫的垃圾鏡像和緩存后,新推送到倉庫的鏡像會出現(xiàn)unexpectedEOF錯誤,這篇文章主要介紹了docker?pull報錯unexpected?EOF問題的解決方案,需要的朋友可以參考下2025-04-04
docker實現(xiàn)重新打tag并刪除原tag的鏡像
這篇文章主要介紹了docker實現(xiàn)重新打tag并刪除原tag的鏡像,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11
本地Docker安裝Postgres 12 + pgadmin的方法 (支持Apple M1)
這篇文章主要介紹了本地Docker安裝Postgres 12 + pgadmin的方法 (支持Apple M1),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03

