Leaky-bucket meter
A leaky-bucket meter tracks work as a level that rises with charges and drains at a configured rate to assess conformance.
Mechanism: work increases the level while elapsed time reduces it toward zero. This is the meter interpretation of a leaky bucket, not a promise of uniformly spaced completions. QEMU v9.2.0 uses this accounting to delay disk I/O and supports bursts. [2] [1]
Accounting: with QEMU iops-size set to 4096 bytes, a 6144-byte request costs 1.5 operations; requests of at most 4096 bytes cost one unit. Drives in one throttle group share limits on their combined I/O. [2] [1]
Relations
- related
- Token bucket, IOPS, I/O request size, Queue depth
Limitations
- A limiter's charging and waiting rules must be distinguished from the storage device's completion behavior. [2]
Citations
- QEMU v9.2.0: disk-I/O throttling, operation charging and throttle groups
- QEMU v9.2.0: throttle_leak_bucket, throttle_compute_wait and throttle_account
Further reading
Sources & caveats
- Pinned QEMU v9.2.0 source review; no virtual-machine benchmark. Documentary default bucket sizes and exact burst-duration examples are not reproduced.