Friday, October 11, 2013

在 debian 上更動預設的磁碟排班器

在對儲存裝置負載比較重的主機上,調整 I/O scheduler 很可能可以得到效能的改善。

要讀取目前所選取的 scheduler 只要執行 cat /sys/block/sda/queue/scheduler 即可,目前使用中的 scheduler 會用方括號標示出來。

在執行時期可以透過 echo "noop" > /sys/block/sda/queue/scheduler 來更改,不過這個變更重開機後會失效。

永久變更可以使用 sysfsutils 來針對特定裝置選用不同的排程器,或是直接改啓動時的 kernel 參數來變更系統預設選用的排程器。

因為我是要用在 VM 上面,不太有多個裝置要用不同組態的需求,所以我選擇使用改變 kernel 參數的方式。

基本上就是編輯位於 /etc/default/grub 的這個設定檔,修改 GRUB_CMDLINE_LINUX_DEFAULT 變數以加入 elevator=noop 選項:

GRUB_CMDLINE_LINUX_DEFAULT="elevator=noop quiet"

最後要記得執行 sudo update-grub 以更新線上的 grub 設定,不然設定不會生效。

No comments: