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

CPU topology, NUMA, and huge pages

Topology tuning is useful when measurement shows scheduler movement, remote memory, translation pressure, or noisy neighbor contention. It can reduce flexibility and worsen performance when copied blindly. Establish host

numahugepagesvcpupinning

Topology tuning is useful when measurement shows scheduler movement, remote memory, translation pressure, or noisy-neighbor contention. It can reduce flexibility and worsen performance when copied blindly.

Establish host topology

BASH
lscpu -e=CPU,NODE,SOCKET,CORE,ONLINE
numactl --hardware
virsh nodecpumap
virsh freecell --all

Inspect guest placement

BASH
virsh vcpucount guest01
virsh vcpuinfo guest01
virsh vcpupin guest01
virsh numatune guest01

Align vCPU placement, emulator threads, memory policy, and device locality as one design. Pinning CPU without memory locality can move the bottleneck rather than remove it.

Huge-page proof

BASH
grep -i huge /proc/meminfo
virsh dumpxml guest01 | grep -A5 memoryBacking

Reserve capacity before guest start and monitor fragmentation. Huge pages reduce some overhead but constrain memory allocation and operational elasticity.

Related

  • CPU, memory, and device model
  • Measure before tuning
  • Virtio and guest disk I/O

On this page

  • Establish host topology
  • Inspect guest placement
  • Huge-page proof