Linux更改硬盘的I/O调度程序

时间:2020-01-09 10:41:16  来源:igfitidea点击:

如何在不重新启动Linux服务器系统的情况下更改特定硬盘的I/O调度程序?

CFQ(完全公平排队)(Completely Fair Queuing)是Linux内核的I/O调度程序,在许多Linux发行版中都是默认的。

Noop Scheduler(noop)是基于FIFO队列概念的最简单的Linux内核I/O调度程序。

"预期调度程序"(预期(anticipatory))是用于调度硬盘输入/输出以及旧调度程序的算法,已被CFQ取代

"最后期限调度程序"(最后期限deadline)会尝试保证请求的开始服务时间。

查看当前磁盘调度程序

假设您的磁盘名称为/dev/sda,请执行:

# cat /sys/block/{DEVICE-NAME}/queue/scheduler
# cat /sys/block/sda/queue/scheduler

输出示例:

noop anticipatory deadline [cfq]

为硬盘设置I/O调度程序

要设置特定的调度程序,只需执行以下命令:

# echo {SCHEDULER-NAME} > /sys/block/{DEVICE-NAME}/queue/scheduler

例如,设置noop调度程序,执行:

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