2.7. 매개변수 설정하기
해당 cgroup을 수정하기 위해 권한을 갖는 사용자 계정에서
cgset
명령을 실행하여 서브시스템 매개 변수를 설정합니다. 예를 들어, /cgroup/cpuset/group1
이 존재하는 경우 다음과 같은 명령으로 그룹에 액세스할 수 있는 CPU를 지정합니다:
cpuset]# cgset -r cpuset.cpus=0-1 group1
cgset
의 구문은 cgset -r
parameter=value path_to_cgroup
입니다. 여기서:
- parameter는 설정해야 할 매개 변수로 특정 group의 디렉토리에 있는 파일에 해당합니다.
- 값은 매개변수에 지정할 값입니다
- path_to_cgroup는 계층의 root에 관련된 cgroup으로의 경로입니다. 예를 들어, root 그룹의 매개 변수를 설정하려면 (
/cgroup/cpuacct/
가 존재하는 경우) 다음 명령을 실행합니다:cpuacct]#
cgset -r cpuacct.usage=0 /
또한.
은 root 그룹과 관련되어 있기 때문에 (즉, root 그룹 자체이므로) 다음 명령을 실행할 수 있습니다:cpuacct]#
cgset -r cpuacct.usage=0 .
하지만/
는 권장 구문이라는 점에 유의하십시오.참고
root 그룹에 소수의 매개 변수 만을 설정할 수 있습니다 (예: 위의 예제에서cpuacct.usage
매개 변수 등). root 그룹이 기존의 모든 자원을 소유하기 때문입니다. 따라서cpuset.cpu
매개 변수와 같은 특정 매개 변수를 정의하여 모든 기존 프로세스를 제한하는 것은 의미가 없습니다.root 그룹의 하위 그룹인group1
의 매개 변수를 설정하려면 다음 명령을 실행합니다:cpuacct]#
cgset -r cpuacct.usage=0 group1
그룹 이름의 끝에 있는 슬래시 (예:cpuacct.usage=0 group1/
)는 옵션입니다.
cgset
으로 설정할 수 있는 값은 특정 계층의 상위 계층에 설정된 값에 따라 달라집니다. 예를 들어, group1
이 시스템에서 CPU 0만 사용하도록 제한된 경우, CPUs 0과 1 또는 CPU 1 만을 사용하도록 group1/subgroup1
을 설정할 수 없습니다.
cgset
을 사용하여 서로 다른 cgroup 간의 매개 변수를 복사할 수 있습니다. 예:
~]# cgset --copy-from group1/ group2/
cgset
으로 매개 변수를 복사하기 위한 구문은 다음과 같습니다: cgset --copy-from
path_to_source_cgroup path_to_target_cgroup
여기서:
- path_to_source_cgroup은 매개 변수가 복사된 계층의 root 그룹과 관련된 cgroup으로의 경로입니다.
- path_to_target_cgroup은 계층의 root 그룹과 관련하여 대상 cgroup으로의 경로입니다.
한 그룹에서 다른 그룹으로 매개 변수를 복사하기 전 다양한 서브시스템의 필수 매개 변수가 설정되어 있는지 확인합니다. 필수 매개 변수가 설정되지 않은 경우 명령은 실패하게 됩니다. 필수 매개 변수에 대한 자세한 내용은 중요 — 필수 매개 변수 에서 참조하십시오.
다른 방법
cgroup에서 매개 변수를 설정하려면
echo
명령을 사용하여 관련 서브시스템 가상 파일로 값을 추가합니다. 예를 들어, 다음 명령은 0-1
값을 cgroup group1
의 cpuset.cpus
가상 파일에 추가합니다:
~]# echo 0-1 > /cgroup/cpuset/group1/cpuset.cpus
이 값이 지정되면 cgroup 내의 작업은 시스템의 CPU 0와 1에서만 수행되도록 제한됩니다.