Total Pageviews

Monday 29 July 2013

change I/O scheduler in Linux

为什么可能会去修改Linux I/O Scheduler (elevator)?以及什么是I/O Scheduler,应该如何为数据库系统选择合适的I/O Scheduler?可以参看以下文章。
那么如果我们确认要修改I/O scheduler,该如何进行? 参考 – How to change default I/O scheduler?
大体上来说就是,比如像修改I/O scheduler为dealine:
  1. 在RHEL4/OEL4中,修改/boot/grub/grub.conf文件,添加elevator=deadline,重启生效,比如:
    title Red Hat Enterprise Linux Server (2.6.18-8.el5)
    root (hd0,0)
    kernel /vmlinuz-2.6.18-8.el5 ro root=/dev/vg0/lv0 elevator=deadline
    initrd /initrd-2.6.18-8.el5.img
  2. 在RHEL5/OEL5中,可以针对每块磁盘制定I/O Scheduler,修改完毕立刻生效,比如:
    --当前是是noop
    # cat /sys/block/sda1/queue/scheduler 
    [noop] anticipatory deadline cfq
    --修改为deadline
    # echo 'deadline'>/sys/block/sda1/queue/scheduler 
    --立刻生效
    # cat /sys/block/sda1/queue/scheduler 
    noop anticipatory [deadline] cfq