Oracle® Solaris 11.2의 리소스 관리

인쇄 보기 종료

업데이트 날짜: 2014년 7월
 
 

CPU 할당 구성

CPU 할당의 구성은 이름 서비스를 통해 project 데이터베이스의 등록 정보로 관리됩니다.

setproject(3PROJECT) 라이브러리 함수를 통해 프로젝트와 연결된 첫번째 작업(또는 프로세스)을 만드는 경우 project 데이터베이스에 project.cpu-shares 리소스 제어로 정의된 CPU 할당 수가 커널에 전달됩니다. project.cpu-shares 리소스 제어가 정의되지 않은 프로젝트에는 할당 1이 지정됩니다.

다음 예에서 /etc/project 파일의 이 항목은 x-files 프로젝트에 대한 할당 수를 5로 설정합니다.

x-files:100::::project.cpu-shares=(privileged,5,none)

프로젝트가 이미 실행 중일 때 데이터베이스에서 프로젝트에 할당된 CPU 할당 수를 변경할 경우에는 해당 프로젝트에 대한 할당 수가 수정되지 않습니다. 변경 사항을 적용하려면 프로젝트를 다시 시작해야 합니다.

project 데이터베이스에서 프로젝트의 속성을 변경하지 않고 프로젝트에 지정된 할당 수를 임시로 변경하려면 prctl 명령을 사용합니다. 예를 들어 해당 프로젝트와 연결된 프로세스가 실행 중인 동안 x-files 프로젝트의 project.cpu-shares 리소스 제어 값을 3으로 변경하려면 다음을 입력합니다.

# prctl -r -n project.cpu-shares -v 3 -i project x-files

자세한 내용은 prctl(1) 매뉴얼 페이지를 참조하십시오.

–r

이름이 지정된 리소스 제어의 현재 값을 바꿉니다.

–n name

리소스 제어의 이름을 지정합니다.

–v val

리소스 제어의 값을 지정합니다.

–i idtype

다음 인수의 ID 형식을 지정합니다.

x-files

변경 객체를 지정합니다. 이 예서는 x-files 프로젝트가 객체입니다.

프로젝트 ID가 0인 system 프로젝트에는 부트 시 초기화 스크립트를 통해 시작되는 모든 시스템 데몬이 포함됩니다. system은 할당 수에 제한이 없는 프로젝트로 표시될 수 있습니다. 다시 말해서 다른 프로젝트에 지정된 할당 수와 상관없이 system이 항상 첫번째로 예약된다는 뜻입니다. system 프로젝트에 지정되는 할당 수를 제한하려면 project 데이터베이스에서 이 프로젝트에 대한 할당 수를 지정합니다.

앞에서 설명했듯이, 할당 수가 0인 프로젝트에 속하는 프로세스에는 항상 시스템 우선 순위 0이 지정됩니다. 할당 수가 1 이상인 프로젝트는 1 이상의 우선 순위로 실행됩니다. 따라서, 할당 수가 0인 프로젝트는 할당 수가 0이 아닌 프로젝트로부터의 요청이 없어서 사용 가능한 CPU 리소스가 남아 있을 때만 예약됩니다.

한 프로젝트에 지정할 수 있는 최대 할당 수는 65535입니다.