Skip to navigationSkip to content
libvirtd docs
InteractiveCommands

Manual nav

Search `/` · tty `~` · g top · G bottom

Portal

  • Manual index
  • Interactive lab
  • Command explorer
Foundations5 sections
  • libvirtd Overview1
  • Host & Installation2
  • Architecture & Concepts6
  • Domains2
  • Domain XML2
Subsystems6 sections
  • Daemons3
  • virsh3
  • Virtual Networking5
  • Virtual Storage4
  • Virtualization Security3
  • Remote libvirt1
Operations5 sections
  • Migration2
  • Snapshots & Backup2
  • Performance3
  • Troubleshooting2
  • Reference2
guideperformanceReviewed July 15, 2026

Measure before tuning

Performance work begins with a workload statement and synchronized host/guest evidence. Change one constraint at a time and preserve a rollback definition. Baseline capture Record the experiment Capture workload version,

baselinemetricsperftuning

Performance work begins with a workload statement and synchronized host/guest evidence. Change one constraint at a time and preserve a rollback definition.

Baseline capture

BASH
virsh domstats guest01 --vcpu --balloon --block --interface
pidstat -p $(pgrep -f 'qemu-system.*guest=guest01') 1
mpstat -P ALL 1
iostat -xz 1

Record the experiment

Capture workload version, duration, host load, guest XML hash, storage path, network path, percentiles, errors, and saturation indicators. A faster average with worse tail latency may be a regression.

Reversible change

BASH
virsh dumpxml guest01 --inactive > /root/guest01.performance-baseline.xml
sha256sum /root/guest01.performance-baseline.xml

Reject tuning folklore that does not identify a measured constraint, expected mechanism, success threshold, and rollback trigger.

Related

  • CPU topology, NUMA, and huge pages
  • Virtio and guest disk I/O

On this page

  • Baseline capture
  • Record the experiment
  • Reversible change