打印所有物理磁盘的当前调度程序

打印所有物理磁盘的当前调度程序

我通过组合 4 个 HDD 创建了一个 RAID 5 设备块。

我的设备名称是md1。

但是 /sys/block/md1/queue/scheduler 文件在执行 cat 时输出“none”。

并且在使用 vim 编辑它之后它会抛出

/sys/devices/virtual/block/md1/queue/scheduler" E667: Fsync failed

我也尝试使用 sysctl.conf 并添加

block.md1.queue.scheduler = deadline

但它再次抛出

error: "block.md1.queue.scheduler" is an unknown key

我真的没有办法了。请帮帮我。

答案1

您可以将 I/O 调度程序应用于实际块设备;例如您的 /dev/sdX 设备或默认全局附加到内核启动命令行/etc/grub...(添加elevator=deadline

但由于您使用的是 EL6(Red Hat、CentOS 等),最有效的方法是使用调整框架

就你的情况而言,

yum install tuned tuned-utils

然后选择一个能够为您的应用程序提供正确设置的配置文件。例如:

tuned-adm profile throughput-performance

或者

tuned-adm profile enterprise-storage

调整图表

答案2

打印所有物理磁盘的当前调度程序

对于 $(find /sys -name scheduler | egrep '(/sd|/hd)') 中的 d;执行 echo $d $(cat $d);完成

cat /sys/devices/virtual/block/md1/queue/scheduler

[noop] 截止期限 cfq

回显“截止日期”> /sys/devices/virtual/block/md1/queue/scheduler

相关内容