Skip to content

리눅스 IO 스케쥴러 변경하기

조회 수 33177 추천 수 0 2010.12.13 16:32:31

현재 리눅스에서 제공되는 IO 스케쥴러는 아래의 4가지가 기본으로 제공된다.

 

  • Completely Fair Queuing?elevator=cfq (default)
  • Deadline?elevator=deadline
  • NOOP?elevator=noop
  • Anticipatory?elevator=as

     

    IO 스케쥴러에 대한 변경은 부팅시와 런타임 모두 가능하며 현재 default로 지정된 IO 스케쥴러의 확인은

     /sys/block/sda/queue/scheduler 에서 살펴볼 수 있다.

     # cat scheduler
    anticipatory deadline [cfq]

    출력값에서 [ ] 안의 스케쥴러가 현재 사용중인 스케쥴러이다. 따라서 cfq가 디폴드 스케쥴러로 되어있음을

    알수 있다.

     

    부팅 타임시에 변경은 /etc/grub.conf 의 kernel 옵션을 아래와 같이 추가함으로써 가능하다.

     

    # grub.conf generated by anaconda
    #
    # Note that you do not have to rerun grub after making changes to this file
    # NOTICE:  You have a /boot partition.  This means that
    #          all kernel and initrd paths are relative to /boot/, eg.
    #          root (hd0,0)
    #          kernel /vmlinuz-version ro root=/dev/sda2
    #          initrd /initrd-version.img
    #boot=/dev/sda
    default=0
    timeout=5
    splashimage=(hd0,0)/grub/splash.xpm.gz
    hiddenmenu
    title Booyo Server (2.6.16-404.BS2smp)
            root (hd0,0)
            kernel /vmlinuz-2.6.16-404.BS2smp ro root=LABEL=/12 rhgb quiet elevator=cfq
            initrd /initrd-2.6.16-404.BS2smp.img
    title Booyo Server-up (2.6.16-404.BS2)
            root (hd0,0)
            kernel /vmlinuz-2.6.16-404.BS2 ro root=LABEL=/12 rhgb quiet elevator=noop
            initrd /initrd-2.6.16-404.BS2.img


     

    런타임시에 변경은  /sys/block/sda/queue/scheduler의 파일 내용을 아래와 같이 직접 write 함으로써 가능하다.

    단순히 변경하고자 하는 스케쥴러의 이름을 echo 시키면 반영된다.

     

    # cd /sys/block/sda/queue

    # echo anticipatory > scheduler
    # cat scheduler
    [anticipatory] deadline cfq noop

  • profile

    일요일은 짜빠게뤼~ 먹는날~^^

    엮인글 :
    http://adminplay.com/32146/1ac/trackback
    List of Articles
    번호 제목 글쓴이 날짜 조회 수
    등록된 글이 없습니다.

    Copyright ADMINPLAY corp. All rights reserved.

    abcXYZ, 세종대왕,1234

    abcXYZ, 세종대왕,1234