-
Notifications
You must be signed in to change notification settings - Fork 815
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WSL2 + Docker causes severe memory leaks in vmmem process, consuming all my machine's physical memory #8725
Comments
I have the same issue only by running a few fixed docker images. Within 2 days the memory is 100% used only stopping Docker Destop releases the memory. So I have switched back to Docker Desktop 4.11.0 |
This is also happening to our team. Seems to have started for us last week. It appears to be maxing out our WSL memory allotted also, as the total calculated processes memory in task manager was not equal the total memory being used. |
Same here on Windows 11 and Docker Desktop 4.11.1. Running asp.net containers from Visual Studio. |
Same for me. Memory in task manager doesn't add up to total. Limiting the wslconfig file does limit the memory af the task, however, it's like the memory doesn't get returned and after 2-3 days or runtime my computer hits 100% memory usage and I have to reboot. |
Please fix. |
Also saw this, unsure if was related to unstarted containers - resource monitor showed ~6 instances of vmmem with 1GB committed and 0KB working set (and one or two with both committed and working, looking more functional). Also running 4.11.1. @labanv, did rolling back help you? |
Same here on Windows server 2022 and Docker Desktop 4.11.1. After a few days the server memory takes up 100% the total calculated processes memory in task manager was not equal the total memory being used. |
Same issue on Windows 10 Docker Desktop v4.11.1. Left my laptop for a bit and came back to 100% memory usage with 16GB and only one image running. |
Nice, I also limited memory allocation in wslconfig. It helped, but doesn't eliminate the issue (it just allows me to get away with building more docker containers, before my machine starts grinding to a halt as it dips into virtual memory). |
Rolled mine back to 4.10.0 and haven't noticed the issue. So far so good for the last ~24 hours. |
for me it works, memory usage is still increasing (some leaks) but sirtainly not as fast as it would hit 100% in 4.11.1 it must be a combination bug of windows vmmem and docker desktop |
Are you back on 4.11.0 or 4.10.0? Looks like you and @labanv are on different versions. I went back to 4.11.0, and seems like my memory still creeps up, maybe more slowly though. |
I'm back at 4.11.0 but as I say it also increases memory usage but slowly. |
I just rolled back from 4.11.0 to 4.10.0 and rebuilt everything, will report back. |
Have been monitoring memory usage for 48 h now and it's looking good, RAM usage is at the expected level and hasn't creeped up. |
Probably related and it will be fixed soon: docker/for-win#12877 |
Also duplicates #8703 |
Hi mrgreywater, I have a fresh install of both WSL and Docker 4.12 and this issue still persists. |
@mrgreywater I re-installed with Docker Desktop 4.12, and I still seem to be encountering memory leaks when I build Docker images. Will continue to test as I will definitely be building more Docker images soon - and I will confirm if I see otherwise - but as of now this appears to still be active. EDIT:
|
for me process is based on:
|
Try these steps:
Updated: Some folks below (#8725 (comment)) had couple of additional configs in the file that worked for them (
|
Finally!!! This worked great!! Thanks a lot! It was driving me crazy!!! |
Great man! Thank you!! Works like a charm for me in Windows 11, WSL2 + Docker One more check I did:
Anyway, here is official doc |
This should not be the official recommended fix, a memory leak is a memory leak and it needs to be fixed. |
Well there are worse issues, when I copy files with Explorer sometimes it locks up all processes/ide etc and I can't even end task them. |
Similar issue here. I have a script with curl dl in a loop, multiple bg process. But the ram for Vmmem in Win10 side keeps increasing |
Same issue here. Running version 4.13.1 (90346). |
Same issue here |
I guess 32Gb ram only cuts about 30 minutes of docker building. I should get 256GB before this is fixed since I tend to develop and test builds for more then 7 hours. Any deals around ya'all? Edit: I figured my comment was not very helpful. To add to some context, when I am running VSCODE and normal containers, this is not that much of a problem. Its very noticeble when I am building containers for my staging builds. It eats way quickly. Edit 2: I have moved to VMWARE for now. It has much better memory managmenet then WSL2. |
same issue there, I have to restart wsl 2 times a day... Windows 10 + docker desktop 4.13.1 |
WSL3 Release writen in Javascript ^_^ |
Couple days ago, if I ran My
Using Ubuntu20.04 |
I noticed exactly the same thing. around 12GB showing Unused Active in RAMMap. I have since been able to fix this by disabling integrated GPU from the bios (AMD CPU in my case). Also removed all the display drivers and utilities by AMD. This solved all the memory-related issues. I am assuming that the iGPU was being used in the docker container instead of the discrete Nvidia GPU, and that memory was reserved as VRAM. If someone has a better explanation for this, let me know. Also disabled Hyper-V from the Windows features, but not sure if that had any effect on the wsl backend. |
I checked memory usage with iGPU disabled (dGPU is used Radeon). |
Like some others in this thread, my particular memory issue manifests principally in the Active column of the Page Table, as shown by RamMap—not Vmmem's Memory usage in in Task Manager. After a while, I have to reboot. Anyone know if this is the same issue or just a separate issue as the others? |
I found a cause. That is an extension of VS code and the ID is |
To answer my own question, the issue with a ballooning Page Table seems to be separate and is discussed in https://superuser.com/a/1841517/79987 (with potential culprit being AMD) and docker/for-win#13929 |
Had to switch back to Hyper-V because because Docker + WSL2 is rendering my Razer Blade 15 unusable. Using VSCode devcontainers makes it worse. |
I am having this exact issue. Also running AMD CPU and iGPU/dGPU, but disabling iGPU is not an option for me since I'm working on a laptop. |
Did you try downgrading AMD Adrenaline to v23? Worked for me |
I had this problem so i got 96gb of ram and now the problem is gone. |
Hi, I do not have Visual Studio installed, but I am experiencing the memory leak problem too. With VS code do you mean Visual Studio ? I am new with WSL. Right now I worked with Docker Engine in Linux. |
It doesn't matter. |
In my environment, even explicitly enabling it didn't improve the problem.😢 |
It also happens to me, but here the weird part is that the leaked memory seems to be unmanaged cause it's not reported as being part of a process anywhere. |
It's becoming so bad that I need to reboot almost daily. I have 64gb of ram. 25% is used on start up. Within 24 hours, it's at 80% being used. This only happens after opening VSCode and using with WSL2. |
And the previous version of Docker Desktop can be downloaded from the following link as below. Addons:
Enjoy :) |
As written above (#8725 (comment)), I resolved by creating or editing the .wslconfig file. |
In my case it was an AMD driver issue, and downgrading my drivers solved the problem without making any changes to vscode or docker. There was no task in task manager taking up the memory. |
@shanecranor Do you recall which driver you downgraded from which problematic version to which working version? |
|
Try to edit # 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=60GB
swap=40GB
kernelCommandLine="sysctl.vm.swappiness=10" then run |
In my case if you hit the swap because your RAM is hoarded by WSL, then your performance is crushed and your Disk IO starts to get your NVME durability until you restart wsl with |
Same here. I fixed it by doing an update to the latest Nvidia drivers (365.90 i my case) with clean folder install. Then I also uninstalled VS code in windows. I am not sure which of the two solved the problem. Previously there was 3-5 instances of Nvidia container and 2-3 instances of Nvidia shield and Shadow. And telemetry was quite high in RAM usage. Now it's around 1 running process of each. And the virtual machine of WSL has a lower RAM usage. In addition to that the GPU is almost at 0-3% in the background but before it was peaking everytime to 30-40% or more in the background.. |
Version
Microsoft Windows [Version 10.0.19044.1889]
WSL Version
Kernel Version
5.10.102.1
Distro Version
Ubuntu-20.04
Other Software
Docker Desktop: 4.11.1
Repro Steps
You simply need to build docker images several times. It results in this:
Note: I don't even have any active Docker containers running. Everything's terminated.
It seems to be the same as this issue, reported 3 years ago and still unresolved: #4166
I never encountered this on MacOS, but it's slowing my development speed down greatly on Windows. It definitely gets worse the more times I build Docker images. It's resulting in build processes slowing down to somewhere between 1/10th and 1/50th the speed they run at when physical memory is available. It makes me need to restart my computer sometimes multiple times per day.
Expected Behavior
Memory gets released after processes terminate.
Actual Behavior
Memory does not get released, resulting in my computer using virtual memory and slowing to a crawl.
Resource usage (with no active containers running - all terminated):
Diagnostic Logs
No response
The text was updated successfully, but these errors were encountered: