Tot*_*tor 6 scheduling io debian configuration
我想deadline
成为我系统的默认 IO 调度程序,并且我不想在重新启动时丢失该配置。这样做的正确方法是什么?(我正在使用 Debian)
一些提示:
echo deadline >| /sys/block/sda/queue/scheduler
,elevator=deadline
,udev
类似的规则SUBSYSTEM=="block", ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/scheduler}="deadline"
,什么是“首选”解决方案?
编辑:我可以有一个配置,将 iosched 设置为deadline
仅适用于启动时存在的驱动器,而不适用于后续的热插拔驱动器(如 USB 密钥)?
确实要看情况。在所有条件相同的情况下,我更喜欢 GRUB 方法,纯粹是因为它很简单,并且您可以在启动时立即获得所选的调度程序。
它的主要问题是它是一个系统范围的设置,如果您有多个磁盘并且希望每个磁盘上有不同的调度程序,那么它是没有用的。在这种情况下,该udev
方法更好,它提供了最细粒度的控制。您甚至可以为外部磁盘设置不同的调度程序,当您插入外部磁盘时它们就会被激活。
我最不喜欢的是启动脚本。这里的选项是将其放入/etc/rc.local
脚本中,在这种情况下,调度程序直到启动过程的(非常)后期才会更改,或者将其与其他脚本一起放入sysvinit
。后者是最复杂的,因为它需要编写LSB
标签等才能正确完成。此外,通过 可靠地获取正确的磁盘(至少对我来说)更加困难/sys
。请注意,如果您尝试为其设置调度程序的磁盘出于某种原因不再存在,则您给出的示例将不起作用sda
。您可以根据一系列属性来udev
匹配设备。
归档时间: |
|
查看次数: |
3553 次 |
最近记录: |