Skip to navigationSkip to content
libvirtd docs
Commands

Manual nav

Search `/` or jump with `g` / `G`.

Portal

  • Home manual
  • Command explorer
Foundations6 sections
  • Overview1
  • Installation2
  • Platform1
  • Concepts5
  • Domains2
  • Domain XML2
Subsystems9 sections
  • Identity1
  • Automation2
  • Daemons3
  • virsh3
  • Networking5
  • Storage4
  • Security3
  • Observability2
  • Remote Access1
Operations6 sections
  • Migration2
  • Backup2
  • Performance3
  • Recovery1
  • Troubleshooting2
  • References2

/ search · g top · G quickstart

manperformanceReviewed July 15, 2026

Virtio and guest disk I/O

Start with paravirtualized devices and a storage safe cache policy. Tune queues and I/O threads only after separating guest demand from host and backend limits. Inspect the path Design variables virtio blk is simple and

virtioiothreadcachediscard

Start with paravirtualized devices and a storage-safe cache policy. Tune queues and I/O threads only after separating guest demand from host and backend limits.

Inspect the path

BASH
virsh domblklist guest01 --details
virsh domblkstat guest01 vda --human
virsh dumpxml guest01 | grep -A8 '<disk '
iostat -xz 1

Design variables

  • virtio-blk is simple and efficient for many workloads.
  • virtio-scsi supports a richer SCSI topology and many devices.
  • Cache and I/O modes must match backend durability guarantees.
  • Discard requires support through guest, virtual device, image, filesystem, and storage backend.
  • Dedicated I/O threads can isolate contention but consume host scheduling resources.

Measure latency percentiles and queue depth under representative load. Throughput alone can hide severe tail latency.

Related

  • CPU, memory, and device model
  • qcow2, raw, and allocation behavior
  • Measure before tuning

On this page

  • Inspect the path
  • Design variables