20.44. Disk I/O Throttling
The
virsh blkdeviotune
command sets disk I/O throttling for a specified guest virtual machine. This can prevent a guest virtual machine from over utilizing shared resources and thus impacting the performance of other guest virtual machines. The following format should be used:
#virsh blkdeviotune domain <device> [[--config] [--live] | [--current]] [[total-bytes-sec] | [read-bytes-sec] [write-bytes-sec]] [[total-iops-sec] [read-iops-sec] [write-iops-sec]]
The only required parameter is the domain name of the guest virtual machine. To list the domain name, run the
virsh domblklist
command. The --config
, --live
, and --current
arguments function the same as in Section 20.43, “Setting Schedule Parameters”. If no limit is specified, it will query current I/O limits setting. Otherwise, alter the limits with the following flags:
--total-bytes-sec
- specifies total throughput limit in bytes per second.--read-bytes-sec
- specifies read throughput limit in bytes per second.--write-bytes-sec
- specifies write throughput limit in bytes per second.--total-iops-sec
- specifies total I/O operations limit per second.--read-iops-sec
- specifies read I/O operations limit per second.--write-iops-sec
- specifies write I/O operations limit per second.
For more information, see the blkdeviotune section of the virsh man page. For an example domain XML see Figure 23.27, “Devices - Hard drives, floppy disks, CD-ROMs Example”.