In WSLv2 there is a way to limit the resources of your linux distro (cpu/memory) to have a better performance on you win10.
To give you an example, this is how it starts on my HP-G5
~$ free -m total used free shared buffcache available Mem: 12659 68 12555 0 34 12425 Swap: 4096 0 4096 ~$ grep -Ec proc /proc/cpuinfo 8
8 CPU threads, 12G
To define your specs, open cmd and change to your user profile directory
~> cd %UserProfile%
Verify that your WSL distros are stopped:
~> wsl.exe -l -v NAME STATE VERSION * Archlinux Running 2 Ubuntu-20.04 Stopped 1 ~> wsl.exe -t Archlinux -v ~> wsl.exe -l -v NAME STATE VERSION * Archlinux Stopped 2 Ubuntu-20.04 Stopped 1
and terminate wsl
~> wsl.exe --shutdown
Create a new (or edit your previous) wsl config file
~> notepad.exe .wslconfig
My current setup is
~> type .wslconfig [wsl2] memory=4GB # Limits VM memory in WSL 2 to 4 GB processors=2 # Makes the WSL 2 VM use two virtual processors swap=2GB # How much swap space to add to the WSL2 VM. 0 for no swap file. swapFile=C:\wsl2-swap.vhdx
as you can see, I want 4GB of RAM and 2 CPU , but also I want a 2GB swap file.
Edit this file according to your needs. The full settings can be found here wsl/wsl-config.
Reminder: you have to shutdown WSL
Now start your fav linux distro and verify
~$ grep -Ec proc /proc/cpuinfo 2 ~$ grep -Ei MemTotal /proc/meminfo MemTotal: 4028776 kB ~$ free total used free shared buffcache available Mem: 4028776 46348 3947056 64 35372 3848616 Swap: 2097152 0 2097152
that’s it !