Loading...
나무위키 실시간 검색어 순위
실시간 영화 순위
1. 미키 17
2. 극장판 진격의 거인 완결편 더 라스트 어택
3. 콘클라베
4. 퇴마록
5. 침범
6. 위플래쉬
7. 노보케인
8. 에밀리아 페레즈
9. 이찬원 콘서트 찬가: 디어 마이 찬스
10. 초혼, 다시 부르는 노래

Docker Desktop 메모리 설정 오류로 인한 시스템 장애 해결

Docker Desktop 메모리 설정 오류로 인한 시스템 장애 해결에 대한 imgDocker Desktop 메모리 설정 오류로 인한 시스템 장애 해결에 대한 img

과도한 메모리 할당과 스왑 메모리 관리 실패 사례


문제 상황

  1. Netdata로 서버 모니터링 중 비정상적인 메모리 사용량 발견
  • 사용 메모리: 27.2GB
  • 캐시: 25GB 이상
  • 여유 메모리: 0.24GB
  • 스왑 사용: 7.1GB (전체 8GB 중)
  1. 도커 컨테이너를 내린 상태에서도 메모리 사용량이 계속 높게 유지됨

문제 해결 시도

1차 시도: 메모리 캐시 정리

 

sudo sync; echo 3 | sudo tee /proc/sys/vm/drop_caches
sudo swapoff -a && sudo swapon -a

  • 결과: 시스템이 멈추어 강제 재부팅 필요
  • 원인: 낮은 가용 메모리 상태에서 스왑 메모리(7.1GB)를 한번에 해제하려 시도


2차 시도: 원인 분석

  • 시스템 로그 확인
  • 프로세스 모니터링
  • 도커 리소스 확인

Docker Desktop 메모리 설정 오류로 인한 시스템 장애 해결에 대한 img

원인 발견

Docker Desktop 설정에서 과도한 리소스 할당:

  • 메모리 한계: 28GB
  • 스왑: 4GB


최종 해결방안

  1. Docker Desktop 리소스 설정 조정
  • Memory: 시스템 전체 메모리의 50% 수준으로 감소
  • Swap: 설정된 메모리의 절반 정도로 조정
  1. 안전한 메모리 정리 방법
# 단계적 캐시 정리
sudo sync
sudo echo 1 > /proc/sys/vm/drop_caches
sudo echo 2 > /proc/sys/vm/drop_caches
sudo echo 3 > /proc/sys/vm/drop_caches


발생한 문제의 원인-
Docker Desktop이 VM을 통해 실행되며8, 기본적으로 시스템 메모리의 상당 부분을 할당받습니다.
메모리 관리 측면:
Linux는 성능 향상을 위해 사용하지 않는 메모리를 캐시로 활용합니다
스왑이 가득 찬 상태에서 스왑 해제(swapoff)를 시도하면 시스템이 멈출 수 있습니다

해결 방안의 적절성-
Docker Desktop 리소스 제한은 적절한 해결책입니다:
Docker는 실제로 리소스를 소비하며, 설정에 따라 관리가 필요합니다
Windows/Linux에서 Docker Desktop은 VM을 사용하므로 메모리 제한이 중요합니다
메모리 캐시 정리 방법:
갑작스러운 스왑 해제는 시스템을 멈추게 할 수 있으므로, 점진적인 접근이 필요합니다
스왑 공간은 물리적 RAM의 2-3배가 권장됩니다
따라서 문제 진단과 해결 과정이 모두 기술적으로 올바르게 진행되었습니다.


교훈

  1. 스왑 메모리 해제는 점진적으로 진행해야 함
  2. Docker Desktop의 리소스 설정이 시스템 전체 성능에 큰 영향을 미침
  3. 메모리 모니터링의 중요성