1. 程式人生 > >linux常用I/O排程演算法及更改

linux常用I/O排程演算法及更改

I/O

    任何計算機程式都是為了執行一個特定的任務,有了輸入,使用者才能告訴計算機程式所需的資訊,有了輸出,程式執行後才能告訴使用者任務的結果。輸入是Input,輸出是Output,因此,我們把輸入輸出統稱為Input/Output,或者簡寫為IO。                 //摘抄廖雪峰官方網站

1.其他的找度娘
    1) NOOP(電梯式排程程式)
        特點:  NOOP傾向餓死讀而利於寫.
                   因為寫請求比讀請求更容易.寫請求通過檔案系統cache,不需要等一次寫完成,就可以開始下一次寫操作,寫請求通過合併,堆積到I/O佇列中.讀請求需要等到它前面所有的讀操作完成,才能進行下一次讀操作.在讀操作之間有幾毫秒時間,而寫請求在這之間就到來,餓死了後面的讀請求.
    2) Deadline(截止時間排程程式)

        特點:  通過時間以及硬碟區域進行分類,這個分類和合並要求類似於noop的排程程式.
                  Deadline確保了在一個截止時間內服務請求,這個截止時間是可調整的,而預設讀期限短於寫期限.這樣就防止了寫操作因為不能被讀取而餓死的現象.

                  Deadline對資料庫環境(ORACLE RAC,MYSQL等)

2.檢視當前系統支援的IO排程演算法

3.檢視當前系統的I/O排程方法:

4.臨時的更改I/O排程方法:
例如:想更改到noop電梯排程演算法:
echo noop > /sys/block/sda/queue/scheduler

5.永久更改排程演算法:
CentOS7:
[
[email protected]
~]# grubby --update-kernel=ALL --args="elevator=deadline"
[[email protected] ~]# reboot
[[email protected] ~]# cat /sys/block/sda/queue/scheduler
noop [deadline] cfq 
CentOS6:
# vim /boot/grub/menu.lst
更改到如下內容:
kernel /boot/vmlinuz-2。6。32-504.el6 ro root=LABEL=/ elevator=deadline rhgb quiet