리눅스 네임스페이스 / cgroups(Control Groups)

오승우/Andrew·2025년 5월 26일

Docker

목록 보기
4/4

네임스페이스 (namespace)

리눅스에서 네임스페이스는 시스템 자원을 격리하는 기술
컨테이너는 이걸 이용해서 다른 프로세스나 환경과 분리된 자기만의 공간처럼 동작함

종류격리 대상 설명
pid프로세스 ID. 컨테이너 안에서는 PID 1부터 시작
netIP, 포트, 네트워크 인터페이스 등을 분리
mnt파일 시스템 마운트 포인트를 분리
uts호스트 이름 (hostname)을 분리
ipc공유 메모리, 메시지 큐 같은 IPC 자원을 격리
user사용자/그룹 ID를 분리

cgroups (Control Groups)

cgroups는 리눅스 자원을 제한하거나 추적하는 기능
컨테이너가 시스템 자원을 과도하게 쓰지 않게 조절할 수 있다

자원설명
CPU사용 가능한 CPU 양을 제한한다
메모리최대 메모리 사용량을 제한한다
디스크 I/O디스크 읽기/쓰기 속도를 제한한다
네트워크대역폭을 제한한다

결론

  • 네임스페이스는 컨테이너마다 독립된 환경처럼 보이게 만든다
  • cgroups는 컨테이너마다 시스템 자원 사용량을 제한 함

이 둘을 함께 사용해서 도커 컨테이너는 격리되고 가볍게 동작한다.

profile
IT Adventurer

0개의 댓글