공유할 서비스 선택

TECH


TECH

OS cgroup을 통해 특정 사용자의 리소스(CPU, MEM)를 제한하는 방법

페이지 정보

작성자 OSworker 아이디로 검색 전체게시물 댓글 0건 조회 22회 좋아요 0회 작성일 26-09-30 19:17

본문

안녕하세요 

 

오늘은 cgroup을 통해 특정 사용자의 리소스를 제한하는 방법을 안내드리려 합니다. 

 

왜 사용자의 리소스를 제한 하려고 하나요?

 

특정 고객사에서  서로 다른 유저로 APP두개를 기동합니다. 그런데 

특정 AP에서 메모리를 과다하게 사용하여 OS에서 OOM이 발생하는 케이스가 몇 차례 발생하여 해당 AP 프로세스를 기동하는 사용자의 리소스를 cgroup을 통해 제한하는 설정을 하고싶습니다. 

 

 

어떻게 할수있을까요? 

 

아래와 같은 설정으로 이를 해결 가능합니다. 

 

 

1. 모든 사용자에게 기본 제한 설정하기 (user.slice)

 

모든 일반 사용자에게 공통으로 적용되는 제한을 설정하려면 user.slice 설정을 변경합니다.

 

 

 

1) 설정 디렉터리 생성:

 

# mkdir -p /etc/systemd/system/user.slice.d

 

 

 

2) 드롭인(drop-in) 설정 파일 생성 (예: /etc/systemd/system/user.slice.d/limits.conf):

 

[Slice]

# 메모리 최대 사용량 제한 (예: 2GB)

MemoryMax=2G

 

# CPU 사용량 쿼타 제한 (예: 코어 2개 분량인 200% 또는 단일 코어의 50% 등)

CPUQuota=200%

 

 

 

3) systemd 데몬 재로드 및 적용:

 

 

# systemctl daemon-reload

 

 

 

2. 특정 사용자만 개별 제한 설정하기 (user-<UID>.slice)

 

 

1) 특정 사용자용 설정 디렉터리 생성:

 

# mkdir -p /etc/systemd/system/user-1000.slice.d

 

 

 

 

2) 설정 파일 생성 (/etc/systemd/system/user-1000.slice.d/override.conf):

 

[Slice]

MemoryMax=1G

CPUQuota=100%

 

 

3) systemd 데몬 재로드 및 적용:

 

# systemctl daemon-reload

 

 

 

 

3. 명령어(CLI)로 실시간 제한 설정하기

 

- 서버를 재부팅하지 않고 실행 중인 사용자 slice에 즉시 제한을 적용할 수도 있습니다.

 

# systemctl set-property user-1000.slice MemoryMax=1G CPUQuota=50%

 

 

참고링크 : 

 

https://docs.redhat.com/ko/documentation/red_hat_enterprise_linux/8/html/managing_monitoring_and_updating_the_kernel/configuring-memory-resource-control-settings-on-the-command-line_using-control-groups-version-1-with-systemd

 

- How to limit CPU or Memory per user using systemd?

. https://access.redhat.com/solutions/7048115

 

 

댓글목록

등록된 댓글이 없습니다.

TECH 목록
번호 제목 작성자 작성일 조회수
301 OS OSworker 아이디로 검색 전체게시물 10-31 18
RHSB-2026-016 Use-after-free - kernel IPv4 (CVE-2026-98432) 보안취약점 안내

카테고리 : OS

18 0
작성자 : OSworker 26/10/31
300 OS OSworker 아이디로 검색 전체게시물 10-24 25
로그인 없이 뚫린다‥'PHP 결함'에 전 세계 비상 #CVE-2026-109618 #CVE-2026-109619 #php2shell

카테고리 : OS

25 0
작성자 : OSworker 26/10/24
299 OS OSworker 아이디로 검색 전체게시물 10-13 18
앞으로 SSL 47일 시대가 옵니다~!

카테고리 : OS

18 0
작성자 : OSworker 26/10/13
열람중 OS OSworker 아이디로 검색 전체게시물 09-30 23
열람중
cgroup을 통해 특정 사용자의 리소스(CPU, MEM)를 제한하는 방법

카테고리 : OS

23 0
작성자 : OSworker 26/09/30
297 OS OSworker 아이디로 검색 전체게시물 09-24 21
OpenJdk Life Cycle 에 대해 알려드립니다.

카테고리 : OS

21 0
작성자 : OSworker 26/09/24
296 OS OSworker 아이디로 검색 전체게시물 09-18 29
Red Hat Enterprise Linux 6 를 아직도 지원 받을수 있습니다. !! 알고계셨나요?

카테고리 : OS

29 0
작성자 : OSworker 26/09/18
295 Virtualization OSworker 아이디로 검색 전체게시물 08-30 20
Red Hat OpenShift란 무엇인가? Kubernetes와 차이점 한눈에 보기

카테고리 : Virtualization

20 0
작성자 : OSworker 26/08/30
294 ETC OSworker 아이디로 검색 전체게시물 08-24 34
Lightwell이란 무엇인가요?

카테고리 : ETC

34 0
작성자 : OSworker 26/08/24
293 OS OSworker 아이디로 검색 전체게시물 08-15 43
Kernel Kpatch 에 대해 추가 설명을 드리고자 합니다. #RHEL9 RHEL10 #CVE

카테고리 : OS

43 0
작성자 : OSworker 26/08/15
292 OS OSworker 아이디로 검색 전체게시물 07-31 53
타임머신 기반 리눅스 시스템 복구 도구, 오픈소스 툴 Timeshift 가이드

카테고리 : OS

53 0
작성자 : OSworker 26/07/31
Total 301건
게시물 검색

주식회사 클럭스| 대표 : 이찬호| 사업자등록번호 : 107-87-27655
주소 : 서울특별시 영등포구 국회대로 800, 여의도파라곤
E-mail : sales@chlux.co.kr
Copyright © 클럭스 www.chlux.co.kr All rights reserved.
상단으로Top