Features/DiskIOLimits

From QEMU

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.

Resources