본문 바로가기
카테고리 없음

Docker desktop 메모리 관리

by eddypark 2023. 8. 24.

노트북이 자꾸 멈춰서 원인을 찾다보니 wsl2기반 docker desktop을 이용할 때 vmmem 프로세스가 메모리를 엄청 먹는 경우가 발생하여 노트북이 느려지거나 멈추는 현상 발생한다고 한다...

내 메모리가 32GB인데,,, 12.7GB나 먹고있는 모습을 볼 수 있다,, 이러니까 노트북이 힘들어하지,,

돌아가고 있는 컨테이너들의 상태들도 확인해보자

> docker stats
 

컨테이너들이 15.5GB 정도로 제한되어있는 모습을 볼 수 있다.

원인은

  1. 리눅스에서 파일 액세스의 정보를 WSL2에서 배당받은 메모리에 보존한다.
  2. 이는 파일 열람을 할 때마다 매번 발생한다.
  3. 리눅스의 배당받은 메모리가 한계에 달한다.
  4. WSL2가 메모리를 추가 할당한다.
  5. 리눅스가 배당받은 메모리가 한계에 달한다.
  6. 무한 악순환

이렇다고 한다,,,

따라서 wsl2 메모리를 제한해주어야 한다.

C:\Users\{UserName} 여기서 .wslconfig파일을 만들어 설정값을 주면 된다.

[wsl2] memory=6GB swap=0

 

만든 후 wsl 재시작

wsl --shutdown

 

적용이 되었는 지 확인 해보자

vmmem 메모리도 6GB 이상 안올라가며 컨테이너들의 메모리 제한도 약 6GB로 설정된 모습을 확인 할 수있다.