首页/系统/Linux 运维命令速查/IO 调度器选择与检查
本包目录(613 条)
文件与目录76 条文本处理77 条网络命令82 条进程与作业69 条磁盘与文件系统51 条用户与权限44 条日志与排查40 条systemd 与服务42 条包管理34 条
性能与监控48 条
定时任务与计划50 条

IO 调度器选择与检查

块设备调度器影响延迟与吞吐:NVMe/SSD 常用 none(或 mq-deadline)、机械盘 mq-deadline;用 /sys/block/*/queue/scheduler 查看与调整。

Linux 运维命令速查系统更新于 2026-10-12
用途按设备类型选择调度策略
查看/sys/block/<dev>/queue/scheduler
常见none / mq-deadline / bfq)

查看与调整

查看与调整
cat /sys/block/sda/queue/scheduler
 cat /sys/block/nvme0n1/queue/scheduler
# 输出中 [none] 表示当前生效
 echo mq-deadline | sudo tee /sys/block/sda/queue/scheduler

持久化思路

持久化思路
# udev 规则示例(/etc/udev/rules.d/60-iosched.rules):
# ACTION=="add|change", KERNEL=="nvme0n1", ATTR{queue/scheduler}="none"
# 或交给 tuned profile(如 throughput-performance)
服务器 NVMe 上 none + 多队列通常延迟最低;虚拟化盘的调度器选择以宿主机与云厂商建议为准。

易错点

  • 直接 echo 修改不持久,重启回退原值,别忘了固化
  • 改调度器前先看设备类型与厂商建议:机械盘用 none 会牺牲公平性与合并优化

数据来源与参考

  • 内核文档:block/(调度器说明)
  • Red Hat 性能调优指南(IO 调度器)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌