更改 Linux I/O 调度器来改善服务器性能

 时间:2026-02-13 10:22:22

1、 I/O 调度器有那些

有三个调度器可供选择,每个调度器都有其优点。

CFQ (Completely Fair Scheduler)(cfq) :

它是许多 Linux 发行版的默认调度器;它将由进程提交的同步请求放到多个进程队列中,然后为每个队列分配时间片以访问磁盘。

Noop 调度器(noop) : 

基于先入先出(FIFO)队列概念的 Linux 内核里最简单的 I/O 调度器。此调度程序最适合于 SSD。

截止时间调度器(deadline) : 尝试保证请求的开始服务时间。

当你想要让 Linux 机器发挥最佳性能时,这可能是你所要做的事情之一。幸运的是,更改 I/O 调度器非常简单。

2、找出你有的调度器类型

你需要做的第一件事是找出哪个调度器正在处理你系统上的 I/O。这是从命令行完成的,你必须知道磁盘的名称。为简单起见,我假设磁盘是 sda。据此信息,打开终端窗口并输入以下命令:

#cat /sys/block/sda/queue/scheduler

该命令的结果将显示当前运行的调度程序(下图)。

更改 Linux I/O 调度器来改善服务器性能

3、更改你的调度器

你可以通过两种方式更改你的调度器:即时或永久。如果你即时更改调度器,它会在重启后恢复到之前的默认调度器。你可能希望首先进行即时更改,以查看哪个调度器能为你的需求带来最佳性能。

说到你要即时改到 noop 调度器。 为此,输入以下命令:

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

你可以将 noop 更改为 cfq 或deadline 。

此更改可以在不重新启动计算机的情况下生效。 一旦更改,I/O 调度器将会切换,(希望)你能看到性能提高(再说一次,根据你的需要而定)。

如果要将调度器更改为永久,则必须在 GRUB 配置文件中执行此操作。 

为此,请输入 sudo nano /etc/default/grub ,然后修改下面的行:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"     到

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash elevator=noop"

同样,你可以改变 noop 为任何你需要的调度器。如果你用的是即时修改,则不必重新启动以使新调度器生效。《linux就该这么学》这些就是修改调度器的方法了。

  • Linux调优–I/O 调度器
  • 如何优化linux服务器
  • Linux I/O多路复用的方法
  • Linux I/O多路复用
  • 如何在Linux中使用条块化I/O管理磁盘
  • 热门搜索
    dior是什么牌子 幼儿园什么时候开学 潮湿的近义词是什么 spd是什么意思 种植牙有什么风险和后遗症 鸿蒙是什么意思 什么叫爱 所有者权益是什么意思 dsr是什么意思 root权限是什么意思