如何在Linux中永久更改IO调度程序
时间:2020-01-09 10:38:57 来源:igfitidea点击:
在本文中,我将分享在Linux中永久或者临时更改IO调度程序的步骤。
I/O调度程序的选择是更具争议性的可调Linux性能功能之一,因为没有可用的公认准则。
之所以使用名称电梯,是因为它们如何对传入的请求进行排序。
考虑目前位于二楼的一台真正的电梯。
也许第一个人要求第九层,然后第二个人要求第三层。
电梯将不会按照要求的顺序访问楼层;它将首先访问三楼,然后继续到第九层。
调度程序升降机确实以相似的方式读取和写入排序以进行优化。
如何更改运行时(临时)的IO调度程序?
我们可以使用以下文件和命令检查当前活动的调度程序
# cat /sys/block/sda/queue/scheduler noop [deadline] cfq
更改当前会话的活动调度程序
# echo cfq > /sys/block/sda/queue/scheduler
现在再次验证活动调度程序
# cat /sys/block/sda/queue/scheduler noop deadline [cfq]
说明:
此更改不是持久性的,在节点重新启动后将切换回截止日期
如何使用GRUB2永久更改IO调度程序?
我们可以在内核启动时设置默认的电梯调度程序。
修改GRUB配置,并以下面所示的格式在GRUB_CMDLINE_LINUX下添加我们选择的电梯。
# cat /etc/sysconfig/grub GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet elevator=cfq" GRUB_DISABLE_RECOVERY="true"
接下来重建initramfs
# grub2-mkconfig -o /boot/grub2/grub.cfg Generating grub configuration file ... Found linux image: /boot/vmlinuz-3.10.0-862.14.4.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-862.14.4.el7.x86_64.img Found linux image: /boot/vmlinuz-0-rescue-43f0510283784c858d39e38e358b4669 Found initrd image: /boot/initramfs-0-rescue-43f0510283784c858d39e38e358b4669.img done
重新启动节点以激活更改
节点备份后,检查活动调度程序
# cat /sys/block/sda/queue/scheduler noop deadline [cfq]
因此,正如预期的那样,活动调度程序是我们在内核中设置的cfq
如何使用GRUB2永久更改IO调度程序?
我们还可以使用调整的配置文件来永久更改活动的IO调度程序。
创建自己的调整后的配置文件,并在调整后的内容中添加以下内容。
conf文件
[disk] elevator=deadline
其中我们将截止日期设置为我的默认IO调度程序。
接下来,激活已调整的配置文件。
这里的" theitroad"是我的自定义调整后的配置文件
# tuned-adm profile theitroad
现在验证活动调度程序
# cat /sys/block/sda/queue/scheduler noop [deadline] cfq
因此,正如预期的那样,我们的活动调度程序再次发生了变化。
说明:
现在,上述步骤可以更改活动IO调度程序,并使它持久地重新引导,但是要修改属于这些电梯的可调参数之一