We all love WSL2 and Windows10 for development work and it's really improving over time. WSL which was supposed to consume fewer resources has a bug and at times it could consume a huge (over 90%) RAM of your system.
There could be 2 solutions to this problem, and we can divide them into temporary and permanent categories.
Temporary solution
- In order to free memory simply restart/kill WSL. in order to kill WSL use the below command.
wsl.exe --shutdown
- this should free memory from your windows machine.
Permanent Solution
- In order to permanently solve the problem, we need to restrict WSL to use system resources.
- Create a
.wslconfig
file at%UserProfile%\.wslconfig
and use it to limit memory assigned to WSL2 on Windows 10. - here is the standard wslconfig file for WSL2
[wsl2] kernel=
# An absolute Windows path to a custom Linux kernel. memory= # How much memory to assign to the WSL2 VM. processors= # How many processors to assign to the WSL2 VM. swap= # How much swap space to add to the WSL2 VM. 0 for no swap file. swapFile= # An absolute Windows path to the swap vhd. localhostForwarding= # Boolean specifying if ports bound to wildcard or localhost in the WSL2 VM should be connectable from the host via localhost:port (default true). # entries must be absolute Windows paths with escaped backslashes, for example C:\\Users\\Ben\\kernel # entries must be size followed by unit, for example 8GB or 512MB - In order to limit memory usage use the below configuration
[wsl2] memory=2GB
I hope this will solve your problem. If you have any questions, feel free to ask in the comment section.