본문 바로가기
리눅스/Part1. Ch02. 컨테이너를 구성하는 리눅스 기술

07. (실습) cgroup으로 Anti Virus앱 CPU사용 제한하기

by Engineer-Lee 2022. 6. 23.
반응형

# 시나리오
새벽 2시에 주기적으로 데이터 베이스 서버 응답이 크게 증가했고,
원인 분석 결과 Anti Virus앱의 주기적인 수행 작업에 영향을 받은 것을 확인함

 

실습: stress tool 로 cpu로드를 생성 → CPU 사용량 10% 제한
( cpu.cfs_period_us = 100000, cpu.cfs_quota_us= 10000 )

 

1. 먼저 sudo apt install -y stress 명령어로 stress tool을 설치한다.

 

2. sudo su 명령어로 root 계정으로 사용자를 바꾼다.

 

3. cd /sys/fs/cgroup/cpu 명령어로 cgroup의 cpu 디렉토리로 이동하고 utils 라는 디렉토리를 만든다. 

 

4. tasks 파일에 현재 터미널의 프로세스ID를 추가해서 task를 추가한다.

 

5. 터미널 자신의 프로세스 ID는 $$ 명령어로 확인이 가능하다.

 

6. cpu.cfs_period_us는 기본적으로 100ms로 설정되어 있기에

    cpu.cfs_quota_us를 10ms로 설정해야 cpu 사용량의 10%를 제한할 수 있다.

 

7. stress -c 1 명령어로 stress 테스트를 실행한다. -c 옵션은 코어의 개수를 나타낸다. 지금 우리가 실습으로 사용하는 ec2 인스턴스는 코어가 1개이므로 -c 1 으로 입력하였다.

 

8. 새로운 터미널 창에서 top 명령어로 cpu 사용량 정보를 확인하면 딱 10%만 사용중인걸 볼 수 있다.

반응형