Oracle® Solaris 11.2의 리소스 관리

인쇄 보기 종료

업데이트 날짜: 2014년 7월
 
 

FSS를 다른 예약 클래스와 결합

기본적으로 FSS 예약 클래스는 TS(시간 공유), IA(대화형) 및 FX(고정 우선 순위) 예약 클래스와 동일한 우선 순위 범위(0 ~ 59)를 사용합니다. 따라서 가급적이면 이러한 예약 클래스의 프로세스가 동일한 프로세서 세트를 공유하지 않도록 해야 합니다. FSS, TS, IA 및 FX 클래스의 프로세스 혼합으로 예기치 않은 예약 동작이 발생할 수 있습니다.

프로세서 세트를 사용하는 경우 한 시스템에서 TS, IA 및 FX와 FSS를 함께 사용할 수 있습니다. 하지만 각 프로세서 세트에서 실행되는 모든 프로세서가 하나의 예약 클래스 안에 있어야 하므로 동일 CPU를 놓고 경합이 벌어지지 않습니다. 특히 FX 스케줄러는 프로세서 세트가 사용되는 경우가 아니면 FSS와 함께 사용해서는 안 됩니다. 이렇게 하면 FX 클래스의 응용 프로그램이 너무 높은 우선 순위를 사용하게 되어 FSS 클래스의 응용 프로그램에 사용될 리소스가 부족해지는 경우를 막을 수 있습니다.

동일한 프로세서에서 또는 프로세서 세트가 없는 동일 시스템에서 TS 및 IA 클래스의 프로세스를 함께 사용할 수 있습니다.

Oracle Solaris 시스템은 루트 권한을 가진 사용자에게 RT(실시간) 스케줄러도 제공합니다. 기본적으로 RT 예약 클래스는 FSS와는 다른 범위(일반적으로 100 ~ 159)에서 시스템 우선 순위를 사용합니다. RT 및 FSS가 disjoint 또는 겹치지 않는 우선 순위 범위를 사용 중이므로 FSS가 동일한 프로세서 세트 내에서 RT 예약 클래스와 공존할 수 있습니다. 하지만 FSS 예약 클래스는 RT 클래스에서 실행되는 프로세스를 제어할 수 없습니다.

예를 들면, 4-프로세서 시스템에서 단일 스레드 RT 프로세스는 프로세스가 CPU에 바인딩된 경우 하나의 전체 프로세서를 사용할 수 있습니다. 시스템에서 FSS도 실행하는 경우 일반 사용자 프로세스는 RT 프로세스에 사용되고 있지 않은 남은 CPU 3개를 놓고 경합을 벌이게 됩니다. RT 프로세스는 CPU를 계속적으로 사용할 수 없습니다. RT 프로세스가 유휴 상태가 되면 FSS에서 4개 프로세서 모두를 활용합니다.

다음 명령을 입력하여 프로세서 세트가 실행 중인 예약 클래스를 찾고 각 프로세서가 TS, IA, FX 또는 FSS 프로세스를 실행하도록 구성되어 있는지 확인할 수 있습니다.

$ ps -ef -o pset,class | grep -v CLS | sort | uniq
1 FSS
1 SYS
2 TS
2 RT
3 FX