개발자공부일기

WSL2 .wslconfig 설정 및 적용 확인 방법 본문

Docker

WSL2 .wslconfig 설정 및 적용 확인 방법

JavaCPP 2025. 8. 4. 21:13

Windows에서 WSL2를 사용하다 보면, 메모리나 CPU 사용량이 과도하게 올라가서 컴퓨터 전체 성능에 영향을 줄 때가 있습니다.
이럴 때 .wslconfig 파일을 사용하면 WSL2 전체의 자원 사용량을 직접 제어할 수 있습니다.
이번 글에서는 .wslconfig 파일 생성부터 적용 확인까지 과정을 정리해 보겠습니다.


1. .wslconfig 파일이란?

  • 위치: C:\Users\<윈도우 사용자 이름>\.wslconfig
  • 역할: WSL2 전역(Global) 설정 파일
  • 특징: Ubuntu, Debian 같은 모든 WSL2 배포판과 Docker Desktop까지 설정이 한 번에 적용됩니다.

즉, 한 번 설정하면 내 컴퓨터에서 실행되는 WSL2 전체 환경에 공통으로 반영됩니다.


2. .wslconfig 파일 만들기

  1. 메모장 실행
  2. 아래와 같은 내용을 작성
[wsl2]
memory=4GB        # 최대 메모리 4GB
processors=2      # CPU 코어 2개 사용
swap=2GB          # 스왑 파일 2GB
localhostForwarding=true

3.다른 이름으로 저장 → 파일 이름을 .wslconfig 로 입력

  • 파일 형식을 "모든 파일 (.)"로 설정
  • 저장 경로: C:\Users\<윈도우 사용자 이름>\

 

이렇게 WSLCONFIG파일이라고 나와야 합니다.

주요 옵션

아래 옵션들을 필요에 맞게 조합해서 사용하면 됩니다.

옵션 설명 예시
memory WSL2에 할당할 최대 메모리 용량 memory=4GB
processors 사용할 CPU 코어 수 processors=2
swap 스왑 파일 크기 지정 swap=2GB
swapFile 스왑 파일의 경로 지정 swapFile=C:\\wsl\\wsl-swap.vhdx
localhostForwarding Windows ↔ WSL localhost 포워딩 여부 localhostForwarding=true
nestedVirtualization 가상 머신 안에서 또 다른 VM 실행 허용 여부 nestedVirtualization=true
guiApplications WSLg로 GUI 앱 실행 허용 여부 guiApplications=true
kernel 커스텀 Linux 커널 이미지 지정 kernel=C:\\wsl\\mykernel
kernelCommandLine 커널 부팅 파라미터 전달 kernelCommandLine=sysctl.net.ipv4.ip_forward=1
pageReporting Windows에 메모리 페이지 보고 여부 (메모리 최적화) pageReporting=false
debugConsole 디버깅용 콘솔 활성화 debugConsole=true
 

공식 옵션 전체 목록은 여기 참고:
Microsoft Docs - wslconfig 설정


3. 설정 적용하기

.wslconfig 수정 후에는 WSL을 완전히 껐다 켜야 합니다.
Windows PowerShell에서 실행하세요:

wsl --shutdown

그 다음 Ubuntu 같은 배포판을 다시 실행하면 적용됩니다.


4. 적용 여부 확인하기

메모리 확인

WSL 안에서:

free -h

예시 출력:

              total        used        free
Mem:           3.9G        1.2G        2.7G

→ 설정한 4GB 근처로 표시되면 정상.

total이 약 3.8GB로 설정한 4GB 근처로 나오네요

CPU 확인

nproc

출력값이 .wslconfig의 processors 값과 일치해야 합니다.

설정한대로 4가 나오고 있습니다.

Swap 확인

아까 메모리 확인할때 밑에 보면 swap이 있습니다. 설정한대로 0이네요

 

네트워크 포워딩 확인

ping 127.0.0.1

Windows에서 동작 중인 서버가 잘 응답하면 localhostForwarding=true가 적용된 것입니다.


5. 적용이 안 될 때 체크리스트

  • .wslconfig 파일이 반드시경로에 있는지 확인
  • C:\Users\<내 윈도우 계정>\.wslconfig
  • 확장자가 .txt로 붙지 않았는지 확인
  • 수정 후 wsl --shutdown을 실행했는지 확인