본문 바로가기

삽질

도커 없이 컨테이너 만들기 - 8

0. 개요

이 글은 아래 글과 이어집니다.

https://ksb-dev.tistory.com/378

 

도커 없이 컨테이너 만들기 - 7

0. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/377 도커 없이 컨테이너 만들기 - 60. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/376 도커 없이 컨테이너 만들기 - 50. 개요

ksb-dev.tistory.com

 

이 글에서는 Cgroups(Control Group)에 대해 알아보겠습니다.

Cgroups는 그룹별로 자원 분배 및 limit 내에서 동작하도록 강제하는 커널 모듈입니다.

실행중인 프로세스를 논리적으로 그룹화하고, 각 그룹마다 리소스 분배 및 제한합니다.

 

1. 실습 준비

sudo -Es
apt install -y cgroup-tools
apt install -y stress

 

2. Cgroups 없이 stress

Cgroups으로 리소스 제한을 하지 않고 stress를 실행하겠습니다.

두 개의 터미널을 띄우고, 2번 터미널에 top 명령어를 사용하면 리소스 사용율을 실시간으로 볼 수 있습니다.

# 1번 터미널
stress -c 1

# 2번 터미널
top

 

3. Cgroups 생성 및 사용

Cgroups를 생성하는 방법은 아래와 같습니다.

cgcreate -a root -g cpu:mycgroup
tree /sys/fs/cgroup/cpu/mycgroup

 

Cgroups만 생성하면 관리 할 정보를 커널이 자동으로 생성합니다.

 

mysgroup의 cpu 사용율 제한하겠습니다.

cfs_period_us의 기본 값은 100,000입니다.

이를 활용해 cpu의 사용율을 30%로 제한하겠습니다.

# cpu limit : (cfs_quota_us / cfs_period_us) * 100
cgset -r cpu.cfs_quota_us=30000 mycgroup;
cgexec -g cpu:mycgroup stress -c 1

'삽질' 카테고리의 다른 글

Service Mesh  (0) 2024.09.15
도커 없이 컨테이너 만들기 - 9  (0) 2024.08.23
도커 없이 컨테이너 만들기 - 7  (0) 2024.08.23
도커 없이 컨테이너 만들기 - 6  (0) 2024.08.23
도커 없이 컨테이너 만들기 - 5  (0) 2024.08.23