Learn to inspect and switch Linux I/O schedulers for better disk performance and predictable latency. 07.01.2026 | reading time: 3 min Disks and SSDs behave differently; the I/O scheduler is where throughput meets latency. This short guide shows how to inspect the current scheduler, switch it on a running system, and make the change survive reboots so the operator can test impact quickly. Try it on a test device Follow a concrete example on a secondary block device, here `/dev/sdb`: show the current scheduler and switch to `kyber` at runtime, then verify; use the commands exactly as shown: ``` # show current scheduler cat /sys/block/sdb/queue/scheduler # possible output: [mq-deadline] kyber bfq # set scheduler to kyber (requires sudo) echo kyber | sudo tee /sys/block/sdb/queue/scheduler # verify change cat /sys/block/sdb/queue/scheduler ``` When to pick which scheduler For rotational disks, deadline or bfq may reduce latency under mixed loads; for NVMe or hardware that already reorders requests, noop or kyber often yields best raw throughput; test with realistic workloads, because the theoretical best can be different in production, and remember that kernel build and blk-mq support change available names. Tune related knobs too Changing the scheduler is often one part of a performance story: check `/sys/block/sdb/queue/rotational` to detect media type, tune `nr_requests` and `queue_depth` per device, and combine scheduler changes with process priorities via `ionice` and cgroups to shape latency for critical services. Making the change permanent To persist a scheduler across reboots add a kernel parameter or a udev rule: the traditional kernel parameter is `elevator=deadline` added to the bootloader command line, or create a udev file that writes into `/sys/block/*/queue/scheduler`; test on a nonproduction machine first and document the change for rollback. Measure impact, don’t guess Use benchmarks and monitoring to validate: `fio` for synthetic load, `iostat` and `sar` for historical behavior, and real-application tests for latency; capture baseline metrics, change the scheduler, then compare to make data-driven decisions rather than relying on folklore. Further reading and tools Kernel documentation and changelogs explain available schedulers and the evolution to blk-mq; read release notes for your distribution and combine `blockdev`, `udevadm`, and `systemd` boot parameters when automating deployment of scheduler settings. Final thought The right I/O scheduler can unlock better latency or throughput, but the only safe path is measure, change, and measure again; keep experimenting and consider certifying skills with CompTIA Linux+ or LPIC-1, and use bitsandbytes.academy for intensive exam preparation. Join Bits & Bytes Academy First class LINUX exam preparation. storage utilities setup troubleshooting