| HOME / 정보공유 / AIX 명령어 모음

schedtune
schedtune schedtune 명령 목적 CPU 스케줄러와 가상 메모리 관리자 처리에 대한 매개변수를 설정합니다. 구문
schedtune [ -D | { [ -d n ] [ -e n ] [ -f n ] [ -h n ] [ -m n ] [ -p n ] [ -r n ] [ -t n ] [ -w n ] } ]
설명
Priority-Calculation 매개변수
대부분의 사용자 프로세스에 대한 우선순위는 최근에 프로세스에 사용된 CPU 시간양에 따라 다릅니다. CPU 스케줄러의 우선순위 계산은 schedtune, -r 및 -d로 설정된 두 개의 플래그를 기초로 합니다. -r 및 -d 값은 1/32초 단위입니다. 즉, 최근 CPU 사용에 대한 보상으로 퍼센트에 대한 프로세스의 우선순위 값에 추가될 양을 계산하기 위해 스케줄러에서 사용되는 공식은 다음과 같습니다.
CPU 보상 = (최근에 사용된 프로세스 CPU 값) * (r/32)
그리고, 각 프로세스의 최근에 사용된 CPU 값에 대한 초당 1회 재계산은 다음과 같습니다.
새로운 최근에 사용된 CPU 값 = (이전의 최근에 사용된 프로세스 CPU 값) * (d/32)
-r 및 -d 둘 다의 디폴트 값은 16입니다. 이는 운영 시스템의 이전 버전에 대한 CPU 스케줄링 동작을 유지합니다. 이러한 값에 대해 조사하기 전에, schedtune 명령으로 조정에 익숙해야 합니다.
Memory-Load-Control 매개변수
운영 시스템 스케줄러는 메모리가 초과 확정될 경우 프로세스를 일시중단하여 메모리 로드 제어를 수행합니다. 시스템은 프로세스를 스왑 아웃하지 않습니다. 그 대신, 페이지가 현재 메모리 요구사항을 이행해야 하므로 그 페이지들이 "가로채기(stolen)"됩니다. 일반적으로, 페이지들은 일시중단된 프로세스로부터 가로챕니다. 메모리는 다음 조건이 만족될 경우에 초과 확정된 것으로 간주됩니다.
p * h s p는 마지막 초에서 페이징 공간에 기록된 페이지 수이고, h는 -h 플래그에 의해 지정된 정수이며, s는 마지막 초에서 발생한 페이지 가로채기 횟수입니다.
프로세스는 메모리가 초과 확정되고 다음 조건이 만족될 경우에 일시중단됩니다.
r * p f r은 마지막 초에서 프로세스가 누적한 리페이징 횟수이고, p는 -p 플래그에 의해 지정된 정수이며, f는 마지막 초에서 프로세스에 발생한 페이지 결함 수입니다.
또한, 고정 우선순위 프로세스와 커널 프로세스는 일시중단되지 않습니다.
리페이지는 프로세스에 속하는 페이지 수를 말하는 것으로, 그 페이지들은 반환되었다가 프로세스에서 다시 참조된 후 바로 사용되는 페이지입니다.
사용자는 또한 -m 플래그를 사용하여 최소 멀티프로그래밍 레벨을 지정할 수도 있습니다. 그렇게 하면 프로세스 일시중단 기간 동안 최소의 프로세스들이 활성 상태로 남아 있습니다. 활성 프로세스는 수행가능하면서 페이지 I/O를 기다리는 프로세스입니다. 이벤트를 기다리는 프로세스와 일시중단된 프로세스는 활성 상태로 간주되지 않으며 대기 프로세스도 활성 상태로 간주되지 않습니다.
일시중단된 프로세스는 시스템이 n 초 동안 초과 확정된 임계치 아래에 있을 때 다시 혼합에 추가될 수 있습니다. 여기서 n은 -w 플래그에 의해 지정됩니다. 프로세스는 먼저 우선순위를 기초로, 그리고 두 번째로 일시중단 기간의 길이을 기초로 시스템에 다시 추가됩니다.
이러한 값에 대해 조사하기 전에, schedtune 명령으로 VMM 메모리 로드 제어 조정에 익숙해야 합니다.
Time-Slice-Increment 매개변수
schedtune 명령을 사용하여, 수행할 다른 프로세스를 선택하기 위해 디스패처가 호출되기 전에 주어진 프로세스가 수행될 수 있도록 운영 시스템이 허용하는 시간의 양을 변경할 수도 있습니다(time slice). 이 간격의 디폴트 값은 단일 시계 표시(10 밀리초)입니다. schedtune 명령의 -t 플래그는 시간 슬라이스 길이가 증가될 시계 표시(tick) 수를 사용자가 지정할 수 있게 합니다.
AIX 버전 4에서, 이 매개변수는 SCHED_RR 스케줄링 정책이 있는 스레드에만 적용됩니다. 스레드에 대한 스케줄링 정책을 참조하십시오.
fork() Retry Interval 매개변수
새 프로세스를 작성하기에는 사용 가능한 페이징 공간이 부족하여 분기 실행(fork) 서브루틴 호출에 실패할 경우, 시스템은 지정된 시간 동안 기다린 후 호출을 재시도합니다. 그 간격은 schedtune -f 플래그로 설정됩니다.
schedtune 제한사항
schedtune은 root에 의해서만 실행될 수 있습니다. 시스템의 다음 재부트까지 schedtune 명령에 의해 수행된 변경사항이 지속됩니다. VMM 또는 시간 슬라이스 매개변수에서의 영구 매개변수가 필요할 경우, 적절한 schedtune 명령을 /etc/inittab에 넣어야 합니다.
주의: 이 명령이 없으면 성능이 저하되거나 운영 시스템이 실패할 수 있습니다. schedtune을 사용하여 시스템 매개변수를 변경하기 전에 적절한 조정 섹션에 대해 배워야 합니다.
플래그
플래그가 지정되지 않을 경우, 현재 값이 인쇄됩니다.
-D 디폴트 값(d=16, e=2, f=10, h=6, m=2, p=4, r=16, t=0, w=1)을 복원합니다.
-d n 각 프로세스의 최근에 사용된 CPU 값에 1초에 한번 d/32가 곱해집니다.
-e n 최근에 재개된 일시중단된 프로세스가 최소한 n초 동안 활성화되었을 때 다시 일시중단될 수 있음을 지정합니다.
-f n 부족한 페이징 공간으로 인해 실패한 분기 실행(fork) 호출을 재시도하기 전에 지연할 (10 밀리초) 시계 표시(tick) 수를 지정합니다. 시스템은 5회까지 분기 실행(fork) 호출을 재시도합니다.
-h n 프로세스 일시중단이 시작되고 종료되는 시기를 판별하기 위한 시스템 전반의 기준을 지정합니다. 0 값은 효율적으로 메모리 로드 제어 설정을 해제합니다.
-m n 최소 멀티프로그래밍 레벨을 설정합니다.
-p n 일시중단할 프로세스를 판별하기 위한 프로세스당 기준을 지정합니다.
-r n 프로세스의 우선순위 값이 다시 계산될 때 프로세스의 최근에 사용된 CPU 값에 r/32가 곱해집니다.
-t n 시간 슬라이스의 지속시간을 증가합니다(다른 프로세스의 수행 계획이 이루어지기 전의 최대 시간양). 디폴트 시간 슬라이스 지속시간은 10 밀리초입니다. 매개변수 n은 각각 10 밀리초 단위입니다. n=0의 경우, 시간 슬라이스 지속시간은 10 밀리초입니다. n=2이면, 시간 슬라이스 지속시간은 30 밀치초입니다. AIX 버전 4에서, 이 매개변수는 SCHED_RR 스케줄링 정책이 있는 스레드에만 적용됩니다.
-w n 스래싱(thrashing) 종료 후, 일시중단된 프로세스가 다시 활성화되기 전에 대기할 초 수를 지정합니다.
-? 명령과 해당되는 매개변수에 대한 간략한 설명을 표시합니다.
관련 정보
분기 실행(fork) 서브루틴.