Menu Close
Red Hat Training
A Red Hat training course is available for RHEL 8
20.2. 커널 리소스 컨트롤러란 무엇입니까?
제어 그룹의 기능은 커널 리소스 컨트롤러에서 활성화합니다. RHEL 8에서는 제어 그룹 버전 1 (cgroups-v1) 및
제어 그룹 버전 2 (cgroups-v2)에 대한 다양한 컨트롤러를 지원합니다.
리소스 컨트롤러(제어 그룹 하위 시스템이라고도 함)는 CPU 시간, 메모리, 네트워크 대역폭 또는 디스크 I/O와 같은 단일 리소스를 나타내는 커널 하위 시스템입니다. Linux 커널은 systemd
시스템 및 서비스 관리자가 자동으로 마운트하는 리소스 컨트롤러를 제공합니다. /proc/cgroups
파일에서 현재 마운트된 리소스 컨트롤러 목록을 찾습니다.
다음 컨트롤러는 cgroups-v1
에 사용할 수 있습니다.
-
blkio
- 블록 장치로 들어오고 나가는 입력/출력 액세스에 대한 제한을 설정할 수 있습니다. -
CPU
- 제어 그룹의 작업에 대해 CFS(Completely Fair Scheduler) 스케줄러의 매개변수를 조정할 수 있습니다. 동일한 마운트에서cpuacct
컨트롤러와 함께 마운트됩니다. -
cpuacct
- 제어 그룹의 작업에서 사용하는 CPU 리소스에 대한 자동 보고서를 생성합니다. 동일한 마운트의cpu
컨트롤러와 함께 마운트됩니다. -
cpuset
- CPU의 지정된 하위 집합에서만 실행되도록 제어 그룹 작업을 제한하고 지정된 메모리 노드에서만 메모리를 사용하도록 작업을 지시하는 데 사용할 수 있습니다. -
장치
- 제어 그룹의 작업에 대한 장치에 대한 액세스를 제어할 수 있습니다. -
카나리아
- 제어 그룹에서 작업을 일시 중단하거나 재개하는 데 사용할 수 있습니다. -
memory
- 제어 그룹의 작업에서 메모리 사용 제한을 설정하고 해당 작업에서 사용하는 메모리 리소스에 대한 자동 보고서를 생성하는 데 사용할 수 있습니다. -
net_cls
- Linux 트래픽 컨트롤러(thetc명령
)를 통해 특정 제어 그룹 작업에서 시작된 패킷을 식별할 수 있는 클래스 식별자(classid
)로 네트워크 패킷을 태그합니다.net_cls
의 하위 시스템인net_filter
(iptables)는 이 태그를 사용하여 이러한 패킷에 대한 작업을 수행할 수도 있습니다.net_filter
는 Linux 방화벽(iptables
명령을 통해)이 특정 제어 그룹 작업에서 시작되는 패킷을 식별할 수 있는 방화벽 식별자(fwid
)로 네트워크 소켓에 태그를 지정합니다. -
net_prio
- 네트워크 트래픽의 우선 순위를 설정합니다. -
PID -
제어 그룹의 여러 프로세스 및 하위 항목에 대한 제한을 설정할 수 있습니다. -
perf_event
-perf
성능 모니터링 및 보고 유틸리티를 통해 모니터링을 위한 작업을 그룹화할 수 있습니다. -
RDMA
- 제어 그룹의 Remote Direct Memory Access/InfiniBand 특정 리소스에 제한을 설정할 수 있습니다. -
hugetlb
- 제어 그룹의 작업에 따라 대규모 가상 메모리 페이지 사용을 제한하는 데 사용할 수 있습니다.
다음 컨트롤러는 cgroups-v2
에 사용할 수 있습니다.
-
io
-cgroups-v1
의blkio
에 후속 조치. -
메모리
-cgroups-v1
의메모리
후속 작업. -
PID -
cgroups-v1
에서 pid
와 동일합니다. -
RDMA
-cgroups-v1
의
것과 같습니다. -
cpu
-cgroups-v1
의cpu
및cpuacct
에 대한 후속 조치. -
cpuset
- 새 파티션 기능으로 핵심 기능(cpus{,.effective}
,mems{,.effective}
)만 지원합니다. -
perf_event
- 지원은 고유하며 명시적인 제어 파일이 아닙니다. 해당cgroup 내의 모든 작업을 프로파일링하는
perf
명령에 v2cgroup
을 매개 변수로 지정할 수 있습니다.
중요
리소스 컨트롤러는 동시에 cgroups-v1
계층 구조 또는 cgroups-v2
계층 구조에서 사용할 수 있습니다.
추가 리소스
-
cgroups(7)
도움말 페이지 -
/usr/share/doc/kernel-doc-<kernel_version>/Documentation/cgroups-v1/
디렉터리에 있는 문서(kernel-doc
패키지 설치 후).