관리 메뉴

Sysops Notepad

[Linux] 4.12 I/O Scheduler BFQ, Kyber, mq-deadline 본문

업무/sys

[Linux] 4.12 I/O Scheduler BFQ, Kyber, mq-deadline

sysops 2019. 12. 6. 10:52

1. 디스크 스케줄러
none :
선입 선출 (FIFO) 스케줄링 알고리즘을 구현합니다. 
간단한 마지막 적중 캐시를 통해 일반 블록 계층에서 요청을 병합합니다.

mq-deadline :
요청이 스케줄러에 도달 한 시점부터 요청에 대해 보장 된 대기 시간을 제공하려고합니다.
mq-deadline스케줄러 종류의 논리 블록 주소 지정 (LBA) 증가하는 순서 / 실행을 위해 다음 O 읽기 나 쓰기 배치로 요청 및 일정을 I을 대기.응용 프로그램이 읽기 I/O 작업을 차단할 가능성이 높기 때문에 기본적으로 읽기 배치는 쓰기 배치보다 우선합니다. 
mq-deadline배치를 처리 한 후 쓰기 작업에 프로세서 시간이 오래 걸리는 시간을 확인하고 다음 읽기 또는 쓰기 배치를 적절하게 예약합니다.
이 스케줄러는 대부분의 사용 사례에 적합하지만 특히 읽기 작업이 쓰기 작업보다 자주 발생하는 경우에 적합합니다.

bfq :
데스크탑 시스템 및 대화식 작업을 대상으로합니다.
bfq스케줄러 보장하지만 하나의 응용 프로그램은 결코 모든 대역폭을 사용하지 않는 것을. 실제로, 저장 장치는 유휴 상태 인 것처럼 항상 응답합니다. 
큰 파일을 복사 할 때 시스템이 응답하지 않습니다. 
기본 구성에서는 bfq최대 처리량을 달성하는 대신 대기 시간을 최소화하는 데 중점을 둡니다.
bfqcfq코드를 기반으로 합니다. 
고정 된 시간 조각 동안 각 프로세스에 디스크를 부여하지 않지만 여러 섹터로 측정 된 예산을 프로세스에 할당합니다 .

kyber :
빠른 장치를위한 것입니다. 스케줄러는 대기 시간 목표를 달성하기 위해 자체 조정됩니다. 
읽기 및 동기 쓰기 요청에 대한 대상 대기 시간을 구성 할 수 있습니다.

2. 사용 사례

Traditional HDD with a SCSI interface : Use mq-deadline or bfq.

High-performance SSD or a CPU-bound system with fast storage : Use none, especially when running enterprise applications. Alternatively, use kyber.

Desktop or interactive tasks : Use bfq.

Virtual guest : Use mq-deadline. With a multi-queue host bus adapter (HBA), use none.

3. 활성 디스크 스케줄러 확인
# cat /sys/block/{device}/queue/scheduler 
[mq-deadline] kyber bfq none

참고 :
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/monitoring_and_managing_system_status_and_performance/setting-the-disk-scheduler_monitoring-and-managing-system-status-and-performance

Comments