Red Hat Training

A Red Hat training course is available for RHEL 8

23.2. 커널 리소스 컨트롤러 소개

커널 리소스 컨트롤러를 사용하면 제어 그룹의 기능을 사용할 수 있습니다. RHEL 8에서는 제어 그룹 버전 1 (cgroups-v1) 및 제어 그룹 버전 2 (cgroups-v2)에 대한 다양한 컨트롤러를 지원합니다.

리소스 컨트롤러(제어 그룹 하위 시스템이라고도 함)는 CPU 시간, 메모리, 네트워크 대역폭 또는 디스크 I/O와 같은 단일 리소스를 나타내는 커널 하위 시스템입니다. Linux 커널은 systemd 서비스 관리자가 자동으로 마운트하는 다양한 리소스 컨트롤러를 제공합니다. 현재 마운트된 리소스 컨트롤러 목록은 /proc/cgroups 파일에서 찾을 수 있습니다.

표 23.1. cgroups-v1 에서 사용 가능한 컨트롤러:

blkio

블록 장치에 대한 입력/출력 액세스 제한을 설정합니다.

cpu

제어 그룹의 작업에 대한 CFS(Completely Fair Scheduler)의 매개변수를 조정합니다. cpu 컨트롤러는 동일한 마운트에 cpuacct 컨트롤러와 함께 마운트됩니다.

cpuacct

제어 그룹의 작업에서 사용하는 CPU 리소스에 대한 자동 보고서를 생성합니다. cpuacct 컨트롤러는 동일한 마운트에 cpu 컨트롤러와 함께 마운트됩니다.

cpuset

CPU의 지정된 하위 집합에서만 실행되도록 제어 그룹 작업을 제한하고 지정된 메모리 노드에서만 메모리를 사용하도록 작업에 지시합니다.

devices

제어 그룹의 작업에 대한 장치에 대한 액세스를 제어합니다.

freezer

제어 그룹에서 작업을 일시 중지하거나 재개합니다.

memory

제어 그룹의 작업에서 메모리 사용량에 대한 제한을 설정하고 해당 작업에서 사용하는 메모리 리소스에 대한 자동 보고서를 생성합니다.

net_cls

Linux 트래픽 컨트롤러( tc 명령)를 활성화하여 특정 제어 그룹 작업에서 시작된 패킷을 식별하는 클래스 식별자(classid)가 있는 네트워크 패킷을 태그합니다. net_cls 의 하위 시스템인 net_filter (iptables)도 이 태그를 사용하여 이러한 패킷에 대한 작업을 수행할 수 있습니다. net_filter 는 Linux 방화벽에서 특정 제어 그룹 작업에서 시작된 패킷을 식별할 수 있는 방화벽 식별자(fwid)로 네트워크 소켓을 태그합니다( iptables 명령을 사용하여).

net_prio

네트워크 트래픽의 우선 순위를 설정합니다.

pids

제어 그룹에서 여러 프로세스 및 해당 하위 항목에 대한 제한을 설정합니다.

perf_event

perf 성능 모니터링 및 보고 유틸리티를 통한 모니터링을 위한 작업을 그룹화합니다.

rdma

제어 그룹의 Remote Direct Memory Access/InfiniBand 특정 리소스에 대한 제한을 설정합니다.

hugetlb

제어 그룹의 작업으로 큰 크기의 가상 메모리 페이지 사용을 제한하는 데 사용할 수 있습니다.

표 23.2. cgroups-v2 에서 사용 가능한 컨트롤러:

io

블록 장치에 대한 입력/출력 액세스 제한을 설정합니다.

memory

제어 그룹의 작업에서 메모리 사용량에 대한 제한을 설정하고 해당 작업에서 사용하는 메모리 리소스에 대한 자동 보고서를 생성합니다.

pids

제어 그룹에서 여러 프로세스 및 해당 하위 항목에 대한 제한을 설정합니다.

rdma

제어 그룹의 Remote Direct Memory Access/InfiniBand 특정 리소스에 대한 제한을 설정합니다.

cpu

제어 그룹의 작업에 대한 CFS(Completely Fair Scheduler) 매개변수를 조정하고 제어 그룹의 작업에서 사용하는 CPU 리소스에 대한 자동 보고서를 생성합니다.

cpuset

CPU의 지정된 하위 집합에서만 실행되도록 제어 그룹 작업을 제한하고 지정된 메모리 노드에서만 메모리를 사용하도록 작업에 지시합니다. 새 파티션 기능이 있는 코어 기능(cpus{,.effective}, mems{,.effective})만 지원합니다.

perf_event

perf 성능 모니터링 및 보고 유틸리티에 의한 모니터링을 위한 그룹 작업입니다. perf_event 는 v2 계층에서 자동으로 활성화됩니다.

중요

리소스 컨트롤러는 동시에 cgroups-v1 계층 구조 또는 cgroups-v2 계층 구조에서 사용할 수 있습니다.

추가 리소스

  • cgroupsECDHE 매뉴얼 페이지
  • /usr/share/doc/kernel-doc-<kernel_version>/Documentation/cgroups-v1/ 디렉터리에 있는 문서( kernel-doc 패키지 설치 후).