본문 바로가기

Docker,Jenkins

Docker 리소스 관리

728x90

Container 하드웨어 리소스 제한

 

Container 기본적으로 호스트 HW 사용 제한이 없다(따로 걸어 놓지 않는 이상)

 

Docker command 를 통해 제한할 수 있는 리소스

  • CPU
  • Memory
  • Disk I/O

 

docker run --help

 

이를 통해 다양한 리소스 제한 명령어를 확인할 수 있다.

 

1. Memory 리소스 제한

 

옵션의미

–memory, -m 최대 메모리양 지정
–memory-swap 스왑 메모리 영역에 대한 설정.
“메모리+스왑” 합친 값
( 생략 시, 메모리의 2배 만큼 )
–memory-reservation –memory 값 보다 적은 값으로 구성하는 soft 제한 설정
–oom-kill-disable OOM killer가 프로세스를 kill하지 못하도록 보호

docker run -d -m 512m nginx:1.14

  • nginx 컨테이너가 사용할 수 있는 최대 메모리는 512MB

docker run -d -m 1g --memory-reservation 500m nginx:1.14

  • nginx 컨테이너 최소 500MB는 사용할 수 있도록 보장 받는다
  • ( 최대 = 1G 까지 사용 가능 )

docker run -d -m 200m --memory-swap 300m nginx:1.14

  • nginx 컨테이너는 (스왑=100MB), (메모리=200MB) 까지 사용 가능

docker run -d -m 200m --oom-kill-disable nginx:1.14

  • OOM = Out of Memory
  • (일반적으로) 메모리가 꽉 차면, 리눅스 커널은 OOM killer를 동작시켜서 프로세스들을 kill한다. 이를 못하도록 하는 명령어이다.

 

728x90

'Docker,Jenkins' 카테고리의 다른 글

Container Volume 이란 ?  (0) 2023.03.31
Container Monitoring Tool  (0) 2023.03.31
Docker 다양한 명령어 정리  (0) 2023.03.31
가상서버에 Docker 설치  (0) 2023.03.30
jenkins cicd react+spring boot 배포중 발생한 issue 모음  (0) 2023.01.03