Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

2.2. 계층 생성 및 서브시스템 연결

주의

다음의 새로운 계층 구조 생성 및 서브시스템으로의 연결 지침에서는 시스템에서 cgroup이 아직 설정되어 있지 않은 것을 전제로 하고 있습니다. 이러한 경우, 이 단계는 시스템의 작동에 영향을 미치지 않습니다. 하지만 작업이 있는 cgroup의 조정 가능한 매개 변수를 변경하면 해당 작업에 즉시 영향을 미칠 수 있습니다. 이 문서에서는 하나 이상의 작업에 영향을 미칠 수 있는 조정 가능한 cgroup 매개 변수를 처음으로 변경 할 때 경고합니다.
cgroup이 이미 설정된 (수동 또는 cgconfig 서비스를 사용하여) 시스템에서 기존 계층을 마운트 해제하지 않으면 이러한 명령은 실패하여 시스템의 작동에 영향을 미칩니다. 프로덕션 시스템에서 이 절차를 시도하지 마십시오.
계층 구조를 생성하고 서브시스템을 이에 연결하려면 root로 /etc/cgconfig.conf 파일의 mount 섹션을 편집합니다. mount 섹션에 있는 항목은 다음과 같은 형식입니다:
subsystem = /cgroup/hierarchy;
cgconfig가 다음 부팅 때 계층을 만들고 이에 서브시스템을 연결합니다.
다음 예제에서는 cpu_and_mem라는 계층을 만들고 이에 cpu, cpuset, cpuacct, memory 서브시스템을 연결합니다.
mount {
    cpuset  = /cgroup/cpu_and_mem;
    cpu     = /cgroup/cpu_and_mem;
    cpuacct = /cgroup/cpu_and_mem;
    memory  = /cgroup/cpu_and_mem;
}

다른 방법

쉘 명령 및 유틸리티를 사용하여 계층을 생성하고 서브시스템을 연결할 수 있습니다.
root로 계층의 mount point를 생성합니다. 마운트 포인트에는 cgroup의 이름이 포함되어 있어야 합니다:
~]# mkdir /cgroup/name
예를 들어:
~]# mkdir /cgroup/cpu_and_mem
다음으로 mount 명령을 사용하여 계층을 마운트하고 동시에 하나 이상의 서브시스템을 연결합니다. 예:
~]# mount -t cgroup -o subsystems name /cgroup/name
여기서 subsystems은 콤마로 구분된 서브시스템 목록이고 name은 계층 이름입니다. 사용 가능한 모든 서브시스템에 대한 간단한 설명은 Red Hat Enterprise Linux에서 사용 가능한 서브시스템 에 기재되어 있으며 3장. 서브시스템 및 조정 가능한 매개 변수 에는 자세한 내용이 설명되어 있습니다.

예 2.3. mount 명령을 사용하여 서브시스템을 연결

이 예제에서는 /cgroup/cpu_and_mem라는 디렉토리가 이미 존재하여 생성된 계층의 마운트 지점으로 작동합니다. cpu, cpusetmemory 서브시스템을 계층에 연결하고 cpu_and_mem으로 이름 지정한 후 /cgroup/cpu_and_mem에 있는 cpu_and_mem 계층에 mount합니다:
~]# mount -t cgroup -o cpu,cpuset,memory cpu_and_mem /cgroup/cpu_and_mem
현재 마운트 지점 (즉, 연결된 계층이 마운트된 위치)과 함께 사용 가능한 모든 서브시스템을 나열하기 위해 lssubsys 명령 [3]을 사용할 수 있습니다.
~]# lssubsys -am
cpu,cpuset,memory /cgroup/cpu_and_mem
net_cls
ns
cpuacct
devices
freezer
blkio
이 출력 결과는 다음과 같은 내용을 나타냅니다:
  • cpu, cpusetmemory 서브시스템은 /cgroup/cpu_and_mem에 마운트된 계층에 연결되어 있습니다.
  • net_cls, ns, cpuacct, devices, freezerblkio 서브시스템은 해당 마운트 지점이 없기때문에 아직 어떤 계층에도 연결되어 있지 않습니다.


[3] lssubsys 명령은 libcgroup 패키지에 의해 제공되는 유틸리티 중 하나로 이를 사용하기 위해 libcgroup 을 설치해야 합니다. lssubsys 명령을 실행할 수 없을 경우 2장. 컨트롤 그룹 사용하기 에서 참조하십시오.