Skip to main content

Linux 디스크 스케쥴링

  1. 디스크 스케쥴러 소개
    스케쥴정보 설명 비고
    none FIFO(선입선출) 스케쥴링
    mq-deadline

    대기중인 I/O요청을 읽기 / 쓰기로 배치로 정렬 후 스케줄러에 도달하는 시점의 요청에 대해 처리

    읽기 작업은 쓰기 작업보다 우선(어플리케이션에서 읽기가 지연될 경우 차단될 가능성이 높음)

    대부분 적합하나, 쓰기 작업은 비동기식으로 사용
    bfq

    단일 어플리케이션이 모든 대역폭을 사용하지 않도록 설정, 스토리지는 항상 유휴상태인ㄱ덧처럼 반응, 

    가장 낮은 대기 시간을 전달하는게 목표

    대용량 파일을 복사하는데 적합하고, 시스템이 응답하지 않을 수 있음
    kyber 모든 I/O요청 대기시간을 계산해서 각 대기시간 목표를 달성하도록 자체조정 NVMe, SSD는 IOPS가 높은 스토리지에 적합
  2. 스케쥴러 정보 확인 방법 (활성화된 스케쥴은 []로 표시)
    $ cat /sys/block/sda/queue/scheduler
    noop [deadline] cfq
  3. 스케쥴 변경 방법 (재부팅하면 기존설정값으로 복원됨)
    $ echo cfq > /sys/block/sda/queue/scheduler
    $ cat /sys/block/sda/queue/scheduler
    noop deadline [cfq]
  4. 영구로 변경시 (Centos7이상)
    $ grubby --update-kernel=ALL --args="elevator=cfq"