25.4. cgroup의 systemd 계층 구조 개요
백엔드에서 systemd 시스템 및 서비스 관리자는 슬라이스, 범위 및 서비스 단위를 사용하여 제어 그룹의 프로세스를 구성하고 구성합니다. 사용자 지정 유닛 파일을 만들거나 systemctl 명령을 사용하여 이 계층 구조를 추가로 수정할 수 있습니다. 또한 systemd 는 /sys/fs/cgroup/ 디렉터리에 중요한 커널 리소스 컨트롤러의 계층을 자동으로 마운트합니다.
리소스 제어의 경우 다음 세 가지 systemd 장치 유형을 사용할 수 있습니다.
- Service
systemd가 장치 구성 파일에 따라 시작된 프로세스 또는 프로세스 그룹입니다.서비스는 지정된 프로세스를 하나의 세트로 시작하고 중지할 수 있도록 캡슐화합니다. 서비스의 이름은 다음과 같습니다.
<name>.service
<name>.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 범위
외부에서 생성된 프로세스 그룹입니다. 범위는
fork()함수를 통해 임의의 프로세스에서 시작 및 중지된 프로세스를 캡슐화한 다음 런타임 시systemd에 의해 등록됩니다. 예를 들어 사용자 세션, 컨테이너 및 가상 머신은 범위로 처리됩니다. 범위는 다음과 같이 이름이 지정됩니다.<name>.scope
<name>.scopeCopy to Clipboard Copied! Toggle word wrap Toggle overflow - slice
계층적으로 구성된 단위 그룹입니다. 슬라이스에서는 범위 및 서비스가 배치되는 계층 구조를 구성합니다.
실제 프로세스는 범위 또는 서비스에 포함됩니다. 슬라이스 유닛의 모든 이름은 계층 구조의 위치에 대한 경로에 해당합니다.
대시(
-) 문자는-.slice루트 슬라이스에서 슬라이스에 대한 경로 구성 요소의 구분 기호 역할을 합니다. 다음 예에서 다음을 수행합니다.<parent-name>.slice
<parent-name>.sliceCopy to Clipboard Copied! Toggle word wrap Toggle overflow parent-name.slice는-루트 슬라이스의 하위 라이센스입니다..sliceparent-name.slice는parent-name-name2.slice라는 자체 하위 라이센스를 가질 수 있습니다.
서비스, 범위, 슬라이스 단위는 제어 그룹 계층 구조의 개체에 직접 매핑됩니다. 이러한 장치가 활성화되면 장치 이름에서 빌드된 그룹 경로를 제어하기 위해 직접 매핑됩니다.
다음은 제어 그룹 계층 구조의 축약된 예입니다.
위의 예제에서는 서비스 및 범위에 프로세스가 포함되어 있으며 자체 프로세스가 포함되지 않은 슬라이스에 배치되어 있음을 보여줍니다.