Features/DiskIOLimits
Summary
Provide interfaces to throttle disk I/O independent of the underlying storage (image file, LVM, NFS, Ceph).
Owners
- Name: Zhi Yong Wu
- Email: wuzhy@linux.vnet.ibm.com
Status
Patches under review on the mailing list.
Development tree: http://repo.or.cz/w/qemu/qemu-dev-zwu.git/shortlog/refs/heads/io_limits_latest
Background
When several instances of QEMU are running they can interfere with system performance through excessive disk I/O. Sometimes it is desirable to limit disk I/O in order to keep QEMU from affecting other applications or instances.
The availability of disk I/O throttling depends on the underlying storage (image file, LVM, NFS, Ceph). On Linux the cgroups blkio-controller supports I/O throttling on block devices but is a relatively recent feature. More importantly, there is no single mechanism for disk I/O throttling across all underlying storage types and for some types there is no way to throttle at all.
The disk I/O limits feature introduces QEMU block layer I/O limits together with command-line and QMP interfaces for configuring limits. This allows I/O limits to be imposed across all underlying storage types using a single interface.