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

manconceptsReviewed July 15, 2026

QEMU, KVM, and libvirt: division of responsibility

KVM provides kernel virtualization, QEMU models the machine and devices, and libvirt supplies a stable management contract around both. Component roles | Layer | Primary responsibility | | | | | KVM | CPU and memory virt

qemukvmlibvirtkernel

KVM provides kernel virtualization, QEMU models the machine and devices, and libvirt supplies a stable management contract around both.

Component roles

LayerPrimary responsibility
KVMCPU and memory virtualization in the Linux kernel
QEMUMachine model, device emulation, process execution
libvirtDefinitions, lifecycle API, policy integration, orchestration
virshOperator CLI using the libvirt API

Inspect a running domain

BASH
virsh dominfo guest01
virsh domxml-to-native qemu-argv /etc/libvirt/qemu/guest01.xml
ps -eo pid,cmd | grep '[q]emu-system'

The native QEMU command is derived output. Manage the persistent domain XML through libvirt rather than editing QEMU command lines or generated runtime files.

Related

  • KVM host readiness
  • Control plane, drivers, and execution plane
  • CPU topology, NUMA, and huge pages

On this page

  • Component roles
  • Inspect a running domain