2011年1月9日 星期日

優化 SSD 表現

Linux 一般預設使用 CFQ I/O scheduler,在硬碟上 CFQ 一般表現較佳。但在 SSD 上, deadline I/O scheduler 會較好。您可以在檔案 /etc/rc.local 中的 exit 0 前加入以下本行令開機時,自動使用 deadline 作為各 SSD 的 I/O scheduler (例子中,/dev/sda 和 /dev/sdb 為 SSD):
for dev in sda sdb
do
echo deadline > "/sys/block/$dev/queue/scheduler"
echo 1 > "/sys/block/$dev/queue/iosched/fifo_batch"
done
或者您亦可以設定開機時要求 Linux 核心預設使用 deadline I/O scheduler。方法是在檔案 /etc/default/grub 中為 GRUB_CMDLINE_LINUX 參數加上 「elevator=deadline」):
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX="elevator=deadline"

儲存後,執行以下命令:
update-grub
系統自然會在每個開機選項加上 elevator=deadline 這參數。

gigacircle