2021-05-12 14:32:11
如何更改 Linux 的 I/O 排程器
2020-06-16 17:18:13
Linux 的 I/O 排程器是一個以塊式 I/O 存取儲存卷的進程,有時也叫磁碟排程器。Linux I/O 排程器的工作機制是控制塊裝置的請求佇列:確定佇列中哪些 I/O 的優先順序更高以及何時下發 I/O 到塊裝置,以此來減少磁碟尋道時間,從而提高系統的吞吐量。
目前 Linux 上有如下幾種 I/O 排程演算法:
- noop - 通常用於記憶體儲存的裝置。
- cfq - 完全公平排程器。進程平均使用IO頻寬。
- Deadline - 針對延遲的排程器,每一個 I/O,都有一個最晚執行時間。
- Anticipatory - 啟發式排程,類似 Deadline 演算法,但是引入預測機制提高效能。
檢視裝置當前的 I/O 排程器:
#cat/sys/block/<Disk_Name>/queue/scheduler
假設磁碟名稱是 /dev/sdc
:
#cat/sys/block/sdc/queue/scheduler
noop anticipatory deadline [cfq]
如何改變硬碟裝置 I/O 排程器
使用如下指令:
#echo{SCHEDULER-NAME}>/sys/block/<Disk_Name>/queue/scheduler
比如設定 noop 排程器:
#echo noop >/sys/block/sdc/queue/scheduler
以上設定重新啟動後會失效,要想重新啟動後設定仍生效,需要在核心啟動引數中將 elevator=noop
寫入 /boot/grub/menu.lst
:
1. 備份 menu.lst 檔案
cp-p /boot/grub/menu.lst /boot/grub/menu.lst-backup
2. 更新 /boot/grub/menu.lst
將 elevator=noop
新增到檔案末尾,比如:
kernel /vmlinuz-2.6.16.60-0.91.1-smp root=/dev/sysvg/root splash=silent splash=off showopts elevator=noop
本文永久更新連結地址:http://www.linuxidc.com/Linux/2017-03/142282.htm
相關文章