Quickly read and adjust the block device scheduler to optimize I/O behavior. 07.01.2026 | reading time: 2 min I/O scheduling decides which disk requests go first; knowing the active scheduler helps tune performance for HDDs or SSDs and for mixed workloads. Hands-on session Here is a concrete shell session demonstrating how to read and switch the scheduler for /dev/sda using the sysfs interface and a safe sudo pattern: ``` # show current scheduler for /dev/sda cat /sys/block/sda/queue/scheduler # example output noop deadline [cfq] # switch to deadline (requires root) echo deadline | sudo tee /sys/block/sda/queue/scheduler # verify change cat /sys/block/sda/queue/scheduler # example output noop [deadline] cfq ``` Device specifics and permissions Schedulers are set per block device so replace sda with the real device name like nvme0n1 for NVMe, and remember writes to /sys require root so use sudo or tee; also not every scheduler is available for every kernel or device type so check the available list before switching. When and why to change it Use noop or none for low-latency NVMe devices, deadline for predictable latency on spinning disks, and cfq or bfq for desktop fairness when available; change the scheduler when a system shows I/O bottlenecks or when tuning for particular workloads. Complementary tooling To understand the effect of switching schedulers pair your changes with monitoring and tracing tools that show throughput and latency so you can measure impact rather than guess which policy is best. Next steps Try the commands on a non-production machine, measure before and after with a benchmarking tool, and if you like deep system tuning consider studying for CompTIA Linux+ or LPIC-1 with intensive exam preparation at bitsandbytes.academy to turn hands-on skills into a certification. Join Bits & Bytes Academy First class LINUX exam preparation. storage utilities troubleshooting