Tips limit CPU/Memory di WSL 2 agar tidak boros memory

2 Februari 2021 • Programming
2 min read • xxx views

WSL (Windows Sub Linux) itu salah satu fitur unggulan dari Windows, yang ditujukan untuk developer untuk running GNU/Linux environment tanpa harus menggunakan dual-boot atau virtual machine.

Nah di WSL 2 ini ada salah satu fitur yaitu bisa menggunakan docker secara native. Jadi ada konfigurasi baru di Docker untuk menggunakan WSL 2 Engine dan menggantikan Hyper-V.

Docker With WSL 2

Docker Dekstop ini juga akan menggunakan fitur dynamic memory allocation-nya WSL 2. Walaupun ini fitur yang bagus, tapi ternyata ada masalah dengan konsumsi memory di Windows, ketika menggunakan WSL, Docker dan VS Code, seperti screenshoot berikut:

konsumsi memory sampai 90% lebih

Nah, jika masih menggunakan Hyper-V di Docker, terdapat setting untuk alokasi Memory dan CPU, tapi jika menggunakan WSL 2, lebih sedikit tricky ternyata, caranya dengan membuat file .wslconfig di dalem folder User , sebelumnya matikan dulu semua instance wsl (termasuk docker-desktop)

	wsl --shutdown

setelah itu buat file .wslconfig di dalam folder user, contoh: C:/Users/anjar/.wslconfig, kemudian edit dengan notepad atau vscode, dan isi seperti berikut, silakan baca dokumentasi WSL untuk konfigurasi lainnya, selain memory dan processors:

[wsl2]
memory=4GB   # Limits VM memory in up to 4GB
processors=3 # Makes the WSL 2 VM use 3 virtual processors

Save file tersebut, kemudian restart Docker Desktop, dan nyalakan wsl instance distro-nya kembali, kemudian run docker container kembali. Bisa di cek di Task Manager, setelah semua container nyala, konsumsi CPU & Memory tidak sampai 90%.

Setelah limit wsl