Untitled

[WSL2] Vmmem의 RAM 점유율 해결 방법

이 포스팅에서 살짝 언급한 WSL2는 램을 얼마나 잡아먹고 있는걸까?

작업 관리자에 표시되는 Vmmem 프로세스가 아마도 VmMemory를 뜻하는 것 같은데, 이 프로세스가 WSL2의 전부는 아니다. WSL2에서 잡아먹고 있는 램은 아래 명령어를 통해 확인 가능하다.

$ free -h

보시다시피, 물리 메모리가 7.6GB, Swap기술을 통해 SSD에서 땡겨온 메모리가 2.0GB. 도합 8.6GB 되시겠다.

충격적인 사실은 used는 2.1GB밖에 되지 않는다는 점이다. 컴퓨터의 램 사용량이 95%를 찍으며 허덕이고 있는 와중에 4.9GB나 되는 램이 태업(?)하고 있는 셈.

따라서 이 망할 태업 RAM들을 손봐주는 방법에 대해 이야기 해보려한다.

WSL2 RAM 사용량 최대값 설정하기

WSL은 어디까지나 Windows의 하위 시스템이므로 WSL의 설정은 WSL이 아니라 Windows에서 이루어진다.

C:\Users\<사용자>

위 경로로 이동하여, .wslconfig 파일을 생성해주자. 맨 앞에 마침표(.)를 빼먹으면 안된다.

해당 파일을 열고 아래의 내용을 입력하자.

[wsl2]memory=4GB

앞서 살펴보았을 때, 실제 사용 RAM이 2.1GB 였다는 점에서 이 사용공간을 기준으로 2배 정도로 설정 해주었다. 아래는 위 설정을 해준 이후의 모습.

swap 기능은 SSD 용량을 땡겨와서 가상RAM으로 활용하는 기술인데, SSD 사용량이 증가하고 Read/Write 횟수가 많아진다는 단점은 있지만, 요즘은 SSD 기술이 많이 발전하여 일반적으로 많이 쓰이는 기술이라는 점에서 켜두었다. 또한, 4GB로 설정해둔 점이 그리 넉넉한 세팅은 아니라고 생각하기에 RAM이 갑작스럽게 부족해지면 예기치 못한 문제가 발생할 수 있다는 점에서 급할 때 땡겨쓸 수 있는 Swap 기능을 켜두었다.

만약 swap 기능을 끄고 싶다면, swap=0 을 한 줄 더 써주면 된다.

[wsl2]memory=4GBswap=0