이제라도 기록하기

[Docker] .wslconfig로 Docker가 사용하는 리소스 제한하기(VmmemWSL) 본문

Settings/Docker

[Docker] .wslconfig로 Docker가 사용하는 리소스 제한하기(VmmemWSL)

sssky00 2024. 6. 3. 02:00

Docker를 사용할 때 VmmemWSL가 차지하는 메모리가 굉장히 커져서 컴퓨터가 느려지는 느낌을 받을 때가 있습니다. 본인도 그러했던 경험을 토대로 Docker 사용 시 VmmemWSL이 차지하는 리소스를 .wslconfig 파일을 통해 제한하는 방법을 정리해보았습니다!

 

왜 .wslconfig 파일로 Docker 리소스를 제한해야 하는지

WSL2를 통해 Docker를 사용하면 편리하지만, 기본 설정으로는 VmmemWSL이 많은 시스템 리소스를 소비할 수 있습니다. 특히, Docker 컨테이너가 여러 개 실행될 때 시스템 성능이 저하되는 문제가 발생할 수 있습니다. 이를 방지하기 위해 .wslconfig 파일을 사용하여 리소스 사용을 제한할 수 있습니다. 주요 이점은 다음과 같습니다.

  • 메모리 사용 관리: Docker 컨테이너가 사용하는 메모리의 최댓값을 설정할 수 있습니다.
  • CPU 사용 관리: Docker가 사용할 수 있는 CPU 코어 수를 제한하여 다른 작업에 지장을 주지 않도록 합니다.
  • 성능 최적화: 불필요한 리소스 사용을 줄여 전반적인 시스템 성능을 향상합니다.

 

.wslconfig 파일 생성 방법

  • 텍스트 에디터 열기: 메모장, VSCode 등 선호하는 텍스트 에디터를 엽니다.
  • 파일 내용 작성: 아래 예시를 참고하여 파일 내용을 작성합니다.

아래 설정은 WSL2가 사용하는 메모리를 4GB로, CPU 코어 수를 2개로 제한합니다. 필요에 따라 메모리와 CPU 설정을 조정할 수 있습니다.

[wsl2] 
memory=4GB # 메모리 제한 (예: 4GB) 
processors=2 # CPU 코어 수 제한 (예: 2개) 
swap=2GB # 스왑 메모리 크기 설정 (예: 2GB) 
localhostForwarding=true # 로컬 호스트 포워딩 활성화

 

  • 파일 저장: 파일 이름을 .wslconfig로 지정하고 저장합니다.

 

.wslconfig 파일 저장 경로

.wslconfig 파일은 사용자 홈 디렉토리에 저장해야 합니다. 일반적으로 이 디렉토리는 C:\Users\사용자이름 경로에 위치합니다. 

  1. 홈 디렉토리로 이동: 파일 탐색기를 열고 홈 디렉토리로 이동합니다.
  2. 파일 복사: 작성한 .wslconfig 파일을 홈 디렉토리에 복사하거나 저장합니다.

 

.wslconfig 파일 적용하기

.wslconfig 파일을 저장한 후, WSL2를 재시작해야 설정이 적용됩니다. 다음 명령어를 사용해 WSL2를 재시작할 수 있습니다.

wsl --shutdown

 

위 명령어는 현재 실행 중인 모든 WSL2 인스턴스를 종료합니다.

그 후 다시 WSL2를 시작하면 새로운 설정이 적용됩니다!