그해
그래도해야지
그해
  • 그래도 해야지 (71)
    • Java (26)
    • Spring (8)
    • Golang (3)
    • CS (0)
      • 서버 (9)
      • 네트워크 (4)
      • 운영체제 (1)
      • WEB (0)
      • 데이터베이스 (6)
      • 자료구조 (1)
      • 보안 (3)
      • 알고리즘 (9)
    • 삽질 (0)
    • 회고 및 생각 (0)
hELLO · Designed By 정상우.
그해
CS/서버

도커 컨테이너 하드웨어 리소스 제한 관리 - Memory, CPU

CS/서버

도커 컨테이너 하드웨어 리소스 제한 관리 - Memory, CPU

2023. 5. 23. 23:24

컨테이너 하드웨어 리소스 제한 관리하기

  • 기본으로 컨테이너는 호스트 하드웨어 리소스의 사용 제한을 받지 않는다. 하지만 컨테이너가 필요로하는 만큼의 리소스만 할당해야한다.
  • Docker Command 를 통해 제한할수 있는 리소스 : CPU, Memory, DISK IO
    • docker run —help 를 통해 확인 가능하다.

 

Memory 리소스 제한

  • 제한 단위는 b,k, m,g로 할당
#nginx를 실행할때 최대로 사용할 수있는 메모리 양을 512m로 지정
docker run -d -m 512m nginx:1.14

#nginx는 항상 500m사용을 보장받고, 최대 1g 까지 쓸 수있다. 
docker run -d -m 1g --memory-reservation 500m nginx:1.14

#메모리 스왑 : 실제 메로리가 아닌 디스크를 메모리 처럼 사용하는 것 
#실제 스왑 메모리는 300 -200 으로 100m까지 사용할 수있다. 
docker run -d -m 200m --memory-swap 300m nginx:1.14

#실제로 메모리가 부족해도 이 프로세스를 kill하지 않도록 함
docker run -d -m 200m --oom-kil-disable nginx:1.14
  • —memory, -m : 컨테이너가 사용할 최대 메모리 양을 지정
  • —memory-reservation: —memory 값보다 적은 값으로 구성하는 소프트 제한 값 설정
  • —memory-swap : 컨테이너가 사용할 스왑 메로리 영역에 대한 설정 , 메모리 + 스왕. 생략 시 메모리의 2배가 설정
  • —oom-kill-disable : OOM Killer 가 프로세스 kill하지 못하도록 보호.
    • Oit Of Memory Killer : 리눅스 커널에서 실제 메모리 사이즈가 부족하게 되면 Out Of Memory Killer를 동작시켜 프로세스를 킬 한다.

 

CPU 리소스 제한

#cpu 1개의 절반만 사용
docker run -d --cpus=".5" ubuntu:1.14

#기본 값보다 두배 많은 CPU자원 할당
docker run -d --cpu-shares 2048 ubuntu:1.14

#0,1,2,3번 CPU 중에서 사용 
docker run -d --cpuest-cpus 0-3 ubuntu:1.14

  • —cpus :컨테이너에 할당할 CPU core 수를 지정
  • —cpuset-cpus :컨테이너가 사용할 수있는 CPU나 코어를 할당. cpu index는 0부터
  • —cpu-share: 컨테이너가 사용하는 CPU 비중을 1024 값을 기반(디폴트)으로 설정, 즉, —cpu-share 2048은 기본값보다 두배 많은 CPU 자원을 할당한다.

'CS > 서버' 카테고리의 다른 글

도커 컴포즈(Docker Compose)  (0) 2023.05.25
도커 데이터 보존하기 - Bind Mount/Volume  (0) 2023.05.24
Docker로 mysql 설치 및 접속하기  (0) 2023.05.23
Dockerfile 이용해서 이미지 만들고, 도커 허브에 배포하기  (0) 2023.05.23
AWS - EC2, Elastic Beanstalk, Fargate, ECR, Lambda, ECS  (1) 2023.05.08
  • 컨테이너 하드웨어 리소스 제한 관리하기
  •  
  • Memory 리소스 제한
  •  
  • CPU 리소스 제한
'CS/서버' 카테고리의 다른 글
  • 도커 컴포즈(Docker Compose)
  • 도커 데이터 보존하기 - Bind Mount/Volume
  • Docker로 mysql 설치 및 접속하기
  • Dockerfile 이용해서 이미지 만들고, 도커 허브에 배포하기
그해
그해
그래도 공부는 해야지

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.