The Linux kernel input/output scheduler (IO Schedulers) controls the way the kernel handles read/write to disks. Different I/O schedulers may have different impact on certain workloads. Here are the list of available Linux I/O schedulers:
Noop scheduler is the simplest IO scheduler available in the kernel. It does not perform sorting or seek-prevention. It is intended for devices that has no mechanical parts or is capable of random access such as SSD or flash-disk.
2) Anticipatory (AS)
Anticipatory is the default I/O scheduler for Linux kernel (2.6.x) until it was replaced by CFQ. It tries to optimize disk I/O by minimizing disk seeking/head movement whenever possible. However, it does has performance impact on file and database servers
As the name implies, the deadline scheduler imposes deadline on all operations. This is to prevent resource starvation, so that every operation can be completed on time without being starved by other operations. The kernel documentation suggests Deadline scheduler to be used on storage and database servers
4) Completely fair-scheduling (CFQ)
CFQ tries to allocate the same resources to all users in the same time interval, hence the name. It tries to allocate fair amount of resources to all users, which would be ideal to use this on a multi-user/multi-purpose system. It is the default scheduler for Linux kernel since 2.6.18.
Keep updated with the latest posts, be a part of over 1,000 subscribers! : Subscribe to your email
You might also want to read...
- How to change Linux I/O Scheduler during runtime
- Spelling differences: Analyze this, criticise that…
- Walking the path…
- 10 Things You Should Know Before Using GNU/Linux
- How to use diff and patch in your project
- Crispy Clear Font on Ubuntu Gutsy Gibbon?
- Squeezing size out of zip and gzip files in Ubuntu Linux