可能需要调整某些参数以实现最佳块调度程序性能。
可以提高 SLES 11 和 SLES 11 SP1 以及 RHEL5 和 RHEL6 的块调度程序性能。
缺省情况下,2.6 内核提供请求公平排队值 rfq,在某些情况下,该值会导致设备队列深度减少到 1。通过将该值从 rfq 更改为 noop,不使用调度程序公平算法,不会减少队列深度并且维持较高性能。
可以在引导时更改该值,或在运行时使用某些最新的 2.6 内核更改该值:
- 引导期间,内核参数 elevator=noop 通常附加到相应引导路径(如/boot/grub/menu.lst、/boot/grub/grub.conf 或 /etc/lilo.conf.x)中的内核菜单行。
- 运行时,通过将调度程序的名称回传给 /sys/block/$devicename/queue/scheduler,以更改调度程序,
其中设备名是块设备的基名,例如针对 /dev/sda,设备名是 sda。 某些版本的 Linux 同样将调度程序应用于多路径设备,并且还需要修改,如以下示例:
- echo noop > /sys/block/sda/queue/scheduler
- echo noop > /sys/block/dm-0/queue/scheduler
如果发现新设备,那么清空和重新装入多路径,或者重新装入光纤通道驱动程序模块。 使用回传选项要求您重新应用这些更改,除非您在引导时还更改了缺省内核选项。