[docker] 완벽가이드 책 리뷰 4일차

오현우·2022년 5월 10일
0

docker

목록 보기
4/11
post-thumbnail

릴리즈 관리 장치(cgroup)

도커는 물리 머신 상의 자원을 여러 컨테이너가 공유하며 작동한다.
이러한 이유로 리눅스 커널의 기능인 control groups 기능을 사용하여 자원의 할당을 관리함

리눅스는 프로그램을 프로세스로서 실행하며 프로세스는 하나 이상의 스레드 모음으로 동작함
cgroup은 프로세스와 스레드를 그룹화하여 그 그룹안에 존재하는 프로세스와 스레드에 대한 관리를 수행하기 위한 기능

각각의 컨테이너 별로 자원 할당이 가능하며 이러한 자원을 서로 침해하지 않게 분리할 수 있다는 소리!

cgroup의 주요 서브시스템 종류

cpu: cpu 사용량을 제한
cpuacct: cpu 사용량 통계 제공
cpuset: cpu나 메모리 배치를 제어
memory: 메모리나 스왑 사용량을 제한
devices: 디바이스에 대한 액세스 제어
freezer: 그룹에 속한 프로세스 정지/재개
net_cls: 네트워크 제어 태그를 부가
blkio: 이 서브시스템은 물리 드라이브 (예: 디스크, 솔리드 스테이트, USB 등)와 같은 블록 장치에 대한 입력/출력 액세스에 제한을 설정

https://access.redhat.com/documentation/ko-kr/red_hat_enterprise_linux/6/html/resource_management_guide/ch01 여기서 확인 가능하다.

cgroup은 아래와 같은 계층 구조를 사용하여 프로세스를 그릅화 하여 관리할 수 있음. 따라서 부모의 용량을 초과할 수 없음.

profile
핵심은 같게, 생각은 다르게

0개의 댓글