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