Insane VMMEM usage

Q: Date/Time this occurred (Provide your time zone also)
A: This has occurred multiple days in a row. (Ongoing issue)

Q: DevKinsta Version
A:

Q: OS Version
A: 10.0.19042 Build 19042 - Windows 10 Home

Q: Docker Desktop Version
A:

Q: Were any error codes or messages observed? If so, what were they?
A: No

Q: Detailed Description of the Problem
A: VMMEM usage randomly at points goes crazy utilizing as much RAM as it can. Which typically ends up taking up 24-25GB of memory.

Hi @Andrew_Fair . Do you recall when this started happening? Have you had a chance to upgrade to DevKinsta 2.0.1 yet?

I am, and it happens almost randomly. I’ll keep an eye out but after typically a long day working I’ve noticed it will just start capping out and not slow down at all.

I’ll keep an eye on it. Thank you

This is a bug in docker’s WSL underpinnings. The VM wants to use any allocated memory that isn’t being put to use as file cache. Over time, this causes vmmem to consume as much resources as possible.
There has been an open issue for this bug on Microsoft’s github for a while, and the page has a few workarounds for it in the comments; The simplest option is to run WSL --shutdown to shutdown WSL and release the vmmem process, then start DevKinsta back up.
The version of Windows the OP is running doesn’t have the update that is supposed to temporarily mitigate this problem, but he can do it him self by altering the global WSL config file. The config file can be used to manually set the memory limit and processor limit for WSL. They recommend setting it to 50 percent of total physical RAM. Here’s the pertinent snippet from the global config documentation :

Global configuration options with .wslconfig

You can add a file named .wslconfig to your Windows home directory (e.g: C:\Users\crloewen\.wslconfig) to control global WSL options across Linux distributions. Please see the sample file below as an example.

Console

[wsl2]
kernel=C:\\temp\\myCustomKernel
memory=4GB # Limits VM memory in WSL 2 to 4 GB
processors=2 # Makes the WSL 2 VM use two virtual processors
2 Likes

@cdlees Welcome to DevKinsta and thank you for the information! It’s greatly appreciated!

1 Like