[Devops] WSL2 기반 docker 사용 시 Vmmem 점유율 문제 해결하기

10000JI·2024년 5월 13일

DevOps

목록 보기
13/14
post-thumbnail

문제

윈도우 PC로 Docker Desktop을 사용 중인데, 여기에 K8s와 함께 사용하니 여러 개의 컨테이너를 실행하면 할수록 Vmmem의 메모리와 CPU 점유율이 거침 없이 치솟았다.

사실 작동하는데는 크게 문제 없어서 그냥 쓰고 있었지만 굉음과 동시에 노트북이 재부팅 되는 것을 보고 조치가 필요하다고 생각이 들었다.

직전 포스팅 SonarQube와 Jenkins를 컨테이너에 올려 웹브라우저를 띄우니 무한 로딩과 빌드하여 Scanner 도중 시간 초과의 반복으로 해결법을 찾아보게 되었다.. ^^!

당장 메모리를 늘릴 수는 없으니 제일 간편하게 대처한 방법에 대해 소개하려고 한다.

해결

  1. Window pc를 사용한다면, 윈도우+R을 눌러 %USERPROFILE%을 입력한다.
  1. 확인을 누르면 사용자 계정 폴더로 이동하는데 여기에 .wslconfig 파일을 만들고, 안에 다음과 같은 내용을 입력한다.

    이때, 사용자 pc에 맞게 커스텀하여 저장하는 것을 추천

[wsl2]
memory=8GB
processors=2
swap=1GB
  • memory=8GB : 가상 Linux 환경에 할당할 메모리 크기를 8GB로 설정
    기본 설정 값 = 전체 메모리의 80%
  • processors=2 : 가상 Linux 환경에 할당할 프로세서(CPU) 개수를 2개로 설정
  • swap=1GB : 가상 Linux 환경에서 사용할 스왑(swap) 공간의 크기를 1GB로 설정
    스왑 공간 = 메모리가 부족할 때 디스크 공간을 활용하는 것

사용자 pc는 메모리가 16기가로 되어있는데, 절반으로 설정해주었다.

profile
Velog에 기록 중

0개의 댓글