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

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

  • Logs, events, and long-running job state
  • CPU topology, NUMA, and huge pages
  • Virtio and guest disk I/O

On this page

  • Baseline capture
  • Record the experiment
  • Reversible change