如何更改Linux 的I O排程器

2021-09-23 06:50:08 字數 1243 閱讀 2547

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//queue/scheduler 

假設磁碟名稱是 /dev/sdc:

# cat /sys/block/sdc/queue/schedulernoop anticipatory deadline [cfq] 

如何改變硬碟裝置 i/o 排程器

使用如下指令:

# echo  > /sys/block//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=

offshowopts elevator=noop 

如何更改Linux 的I O排程器

linux 的 i o 排程器是乙個以塊式 i o 訪問儲存卷的程序,有時也叫磁碟排程器。linux i o 排程器的工作機制是控制塊裝置的請求佇列 確定佇列中哪些 i o 的優先順序更高以及何時下發 i o 到塊裝置,以此來減少磁碟尋道時間,從而提高系統的吞吐量。目前 linux 上有如下幾種 i...

Linux下io磁碟排程策略

i o 排程演算法再各個程序競爭磁碟i o的時候擔當了裁判的角色。他要求請求的次序和時機做最優化的處理,以求得盡可能最好的整體i o效能。在linux下面列出4種排程演算法 cfq completely fair queuing 完全公平的排隊 elevator cfq 這是預設演算法,對於通用伺服...

linux排程器(九) 排程器的配置引數

排程器的配置引數 proc sys kernel sched min granularity ns 4000000ns sysctl sched min granularity 表示程序最少執行時間,防止頻繁的切換,對於互動系統 如桌面 該值可以設定得較小,這樣可以保證互動得到更快的響應 見週期排程...