Docker 메모리 프로세서 제어

Docker를 사용하다 보면 아래처럼 치솟는 메모리 사용량을 볼 때가 있습니다.

image

아래의 방법은 Docker를 테스트 중 메모리 사용량을 Windows에서 제어 하는 방법입니다.

  1. 탐색기의 사용자 위치(C:\Users\<사용자>)에 .wslconfig 파일을 생성합니다.

  2. 아래와 같이 해당 파일의 설정을 지정합니다.

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    
    # 설정은 WSL 2에서 실행되는 모든 Linux 배포판에 적용
    [wsl2]
    
    # VM 메모리를 4GB 이하로 제한.
    # GB 또는 MB를 사용하여 정수로 설정할 수 있음
    memory=4GB 
    
    # 2개의 가상 프로세서를 사용하도록 VM을 설정
    processors=2
    
    # 스왑 저장 공간의 양을 8GB로 설정합니다. 기본값은 사용 가능한 RAM의 25%입니다.
    swap=8GB
    
  3. 위 설정을 적용 후 Docker를 재실행해야 적용됩니다.

Mac의 경우는 Mac버전의 Docker Desktop 설정에서 간단하게 변경(링크) 할 수 있습니다.

vmmem 터미널 강제 종료

Docker도 결국은 가상머신에서 돌고 있는 시스템이기에 WSL(Windows Subsystem for Linux)을 강제 종료하면 메모리와 CPU 점유율을 낮출 수 있습니다.
좋은 방법은 아니지만 즉각적인 효과는 있습니다.

커맨드 또는 powershell을 이용하여 아래의 명령어를 입력합니다.

1
wsl --shutdown

위의 명령어로 WSL 강제 종료 후 Docker를 재실행하기 위해서는 Docker Desktop이 실행되어 있다면 우측하단의 트레이 아이콘에서 Troubleshoot을 선택합니다.

image

선택 후 아래 사진과 같이 Restart를 선택하면 됩니다.

image

Reference