0. 개요
이 글은 아래 글과 이어집니다.
https://ksb-dev.tistory.com/378
이 글에서는 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 |