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
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