Linux中國

如何更改 Linux I/O 調度器來調整性能

Linux I/O 調度器 Linux I/O scheduler 控制內核提交讀寫請求給磁碟的方式。自從 2.6 內核以來,管理員已經能夠更改這個調度器,所以他們可以自定義他們的平台以完全適合他們的需要。

有三個調度器可供選擇,每個調度器都有其優點。這些調度器是:

  • CFQ Completely Fair Scheduler 完全公平調度器 (cfq) :它是許多 Linux 發行版的默認調度器;它將由進程提交的同步請求放到多個進程隊列中,然後為每個隊列分配時間片以訪問磁碟。
  • Noop 調度器(noop) : 基於先入先出(FIFO)隊列概念的 Linux 內核里最簡單的 I/O 調度器。此調度程序最適合於 SSD。
  • 截止時間調度器(deadline) : 嘗試保證請求的開始服務時間。

當你想要讓 Linux 機器發揮最佳性能時,這可能是你所要做的事情之一。幸運的是,更改 I/O 調度器非常簡單。讓我告訴你怎麼做。

找出你有的調度器

你需要做的第一件事是找出哪個調度器正在處理你系統上的 I/O。這是從命令行完成的,你必須知道磁碟的名稱。為簡單起見,我假設磁碟是 sda。據此信息,打開終端窗口並輸入以下命令:

cat /sys/block/sda/queue/scheduler

該命令的結果將顯示當前運行的調度程序(下圖)。

Figure A

Elementary OS Loki 運行 deadline 調度器。

更改你的調度器

你可以通過兩種方式更改你的調度器:即時或永久。如果你即時更改調度器,它會在重啟後恢復到之前的默認調度器。你可能希望首先進行即時更改,以查看哪個調度器能為你的需求帶來最佳性能。

說到你要即時改到 noop 調度器。 為此,輸入以下命令:

sudo echo noop > /sys/block/hda/queue/scheduler

你可以將 noop 更改為 cfqdeadline

此更改可以在不重新啟動計算機的情況下生效。 一旦更改,I/O 調度器將會切換,(希望)你能看到性能提高(再說一次,根據你的需要而定)。

如果要將調度器更改為永久,則必須在 GRUB 配置文件中執行此操作。 為此,請輸入 sudo nano /etc/default/grub,然後修改下面的行:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash elevator=noop"

同樣,你可以改變 noop 為任何你需要的調度器。如果你用的是即時修改,則不必重新啟動以使新調度器生效。

這些就是修改調度器的方法了。

做出明智的選擇

你應該做研究,找出什麼調度器最適合你的特殊情況。要了解每個調度器的更多信息,請查看這些 Wiki 頁面:CFSNoopDeadline

via: http://www.techrepublic.com/article/how-to-change-the-linux-io-scheduler-to-fit-your-needs/

作者:Jack Wallen 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國