Features/DiskIOLimits

From QEMU
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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