Motivated by increasing use of server consolidation, we have investigated the performance of disk I/O in Linux under various workloads. The tests identiﬁed several inefﬁciencies in the disk I/O scheduler, and that not all performance problems can be solved on the I/O scheduler layer. We have therefore attacked the problem on two levels: by modifying the I/O scheduler, and by developing user space techniques that reduce seeking for certain classes of applications. Our modiﬁcations to the I/O scheduler introduce a new priority class with QoS support for bandwidth and deadline requirements, while at the same time improving performance compared to the existing classes. The experimental results show that our I/O scheduler class can handle more multimedia streams without deadline misses, and that our user space techniques improve performance on workloads such as ﬁle archiving. With our experiments we have found that the number of concurrent media streams can be increased by 17%, and that archiving tasks ran almost 5 times faster in the best case. Our limited set of experiments have not revealed any performance disadvantages of the proposed techniques.