27장. 스케줄링 정책 튜닝


RHEL(Red Hat Enterprise Linux)에서 스레드는 프로세스 실행의 가장 작은 단위입니다. 시스템 스케줄러는 스레드를 실행하고 전체 시스템 사용률에 우선순위를 매기는 프로세서를 선택합니다. 결과적으로 스레드 예약이 특정 애플리케이션 성능 정책에 최적화되지 않을 수 있습니다.

예를 들어 노드 B의 프로세서가 사용 가능하게 되면 NUMA 시스템의 애플리케이션이 노드 A에서 실행되고 있는 경우입니다. 노드 B에서 프로세서를 계속 사용하려면 스케줄러에서 애플리케이션의 스레드 중 하나를 노드 B로 이동합니다. 그러나 애플리케이션 스레드는 여전히 노드 A의 메모리에 액세스해야 합니다. 이 메모리에 액세스하려면 더 오래 걸립니다. 이제 스레드가 노드 B에서 실행되어 노드가 로컬이 아닌 메모리 원격이 됩니다. 노드 B에서 실행하는 데는 노드 A를 기다리는 것보다 오래 걸릴 수 있습니다. 로컬 메모리 액세스는 마이그레이션의 이점을 벗어나는 경우가 많습니다.

27.1. 스케줄링 정책 카테고리

설계자 또는 관리자가 스레드 실행 위치를 제어하면 성능에 민감한 애플리케이션이 도움이 되는 경우가 많습니다. Linux 스케줄러는 스레드가 실행되는 위치와 기간을 결정하는 여러 스케줄링 정책을 구현합니다.

다음은 두 가지 주요 스케줄링 정책 카테고리입니다.

일반 정책
일반 스레드는 일반 우선 순위의 작업에 사용됩니다.
실시간 정책
실시간 정책은 중단 없이 완료해야 하는 시간에 민감한 작업에 사용됩니다. 실시간 스레드는 시간 분할의 영향을 받지 않습니다. 즉, 스레드는 차단, 종료, 수집 출력 또는 더 높은 우선 순위 스레드에 의해 선점될 때까지 실행됩니다.

가장 낮은 우선 순위의 실시간 스레드는 일반 정책이 있는 스레드보다 먼저 예약됩니다. 자세한 내용은 시스템의 sched(7), sched_setaffinity(2), sched_getaffinity(2), sched_setscheduler(2), sched_getscheduler(2) 매뉴얼 페이지를 참조하십시오.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동