본문 바로가기

카테고리 없음

WSL2에서 vmmem 메모리 이슈 해결하기

WSL은 Windows Subsystem For Linux의 이니셜이며, 윈도우에서 리눅스 커널을 작동할 수 있게 하는 획기적인 기술이다. macOS에 상주하고 있는 개발자들을 끌어모으기 위해 악착같이 만들었지만 아직 초기이기 때문에 문제가 많이 발생한다.

여기서 다루는 문제는 WSL2부터 일어나는 문제이며, 도커를 실행시켰을 때 vmmem이라는 프로그램이 운영체제의 모든 잔여 램을 잡아먹는 이슈다. 램이 2기가든 32기가든 평등하게 모조리 잡아먹는 마틴 루터 킹같은 존재인 것이다.

이 문제는 다행히 github issue를 통해 해결된 상태이다.

https://github.com/microsoft/WSL/issues/4166

 

WSL 2 consumes massive amounts of RAM and doesn't return it · Issue #4166 · microsoft/WSL

Your Windows build number: 18917 What's wrong / what should be happening instead: WSL 2 starts using huge amounts of RAM after a while, just using it like normal. At the moment I'm using ph...

github.com

 

이곳을 들어가보면, apostolos라는 유저가 고맙게도 방법을 적어주었다. %UserProfile%\.wslconfig 파일을 만들어서 wsl 메모리 자체를 제한하면 된다.

 

[wsl2]
memory=2GB
swap=1GB
localhostForwarding=true

파일의 내부는 상단처럼 작성하면 된다.