Docker Desktop Vmmem內(nèi)存占用過高問題及完美解決方案
Docker Desktop Vmmem內(nèi)存占用過高問題解決方案
內(nèi)存占用過高原因
主要原因是docker desktop的實(shí)現(xiàn)及基于wsl(Windows子系統(tǒng)),相當(dāng)于在Windows上同時(shí)開了一個(gè)虛擬機(jī),如果不對(duì)wsl的資源進(jìn)行限制,它將會(huì)極大的獲取系統(tǒng)資源.所以我們只需要對(duì)wsl的最大資源進(jìn)行限制即可
解決方案
修改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)建個(gè).wslconfig文件,即C:\Users\<UserName>\.wslconfig
創(chuàng)建完成后將配置文件內(nèi)容粘貼進(jìn)去
[wsl2] #配置wsl的核心數(shù) processors=2 #配置wsl的內(nèi)存最大值 memory=512MB #配置交換內(nèi)存大小,默認(rèn)是電腦內(nèi)存的1/4 swap=8GB #關(guān)閉默認(rèn)連接以將 WSL 2 本地主機(jī)綁定到 Windows 本地主機(jī) localhostForwarding=true #設(shè)置臨時(shí)文件位置, 默認(rèn) %USERPROFILE%\AppData\Local\Temp\swap.vhdx swapfile=D:\\temp\\wsl-swap.vhdx
保存后以管理員打開powershell,執(zhí)行如下語句關(guān)閉wsl:
wsl --shutdown
重啟docker desktop即可
后續(xù)問題(缺點(diǎn))
如果內(nèi)存設(shè)置的太小了,后續(xù)可能會(huì)出現(xiàn)docker desktop 運(yùn)行一段時(shí)間退出,或者容器會(huì)突然停止工作
所以我們的memory=512MB
要根據(jù)自己啟動(dòng)的容器所占內(nèi)存大小稍大一點(diǎn)即可,但是如果是后續(xù)需要增加容器需要自己手動(dòng)再次擴(kuò)大memory
到此這篇關(guān)于Docker Desktop Vmmem內(nèi)存占用過高問題解決方案的文章就介紹到這了,更多相關(guān)Docker Desktop Vmmem內(nèi)存占用過高內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker找不到鏡像無法成功下載ragflow-main的問題解決辦法
這篇文章主要介紹了docker找不到鏡像無法成功下載ragflow-main的問題解決辦法,文中通過代碼及圖文將解決的辦法介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用docker具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2025-04-04docker實(shí)現(xiàn)導(dǎo)出、導(dǎo)入和數(shù)據(jù)搬遷
本篇文章主要介紹了docker實(shí)現(xiàn)導(dǎo)出、導(dǎo)入和數(shù)據(jù)搬遷,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07詳解基于docker-swarm搭建持續(xù)集成集群服務(wù)
這篇文章主要介紹了詳解基于docker-swarm搭建持續(xù)集成集群服務(wù),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-10-10利用Docker分層構(gòu)建優(yōu)化鏡像大小的實(shí)現(xiàn)
合適docker鏡像文件大小不僅影響容器啟動(dòng)效率,也影響資源占用效率,本文介紹如何利用分層方式構(gòu)建docker鏡像,采用多種方式避免鏡像文件太大而影響性能,需要的朋友可以參考下2025-01-01使用Golang玩轉(zhuǎn)Docker API的實(shí)踐
這篇文章主要介紹了使用Golang玩轉(zhuǎn)Docker API的實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04解決Docker報(bào)錯(cuò):“docker build“ requires exactly&nb
這篇文章主要介紹了解決Docker報(bào)錯(cuò):“docker build“ requires exactly 1 argument.具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12