NUMA — топология CPU в Linux

lscpu | egrep 'NUMA|Socket|Core'
lscpu -e=CPU,CORE,SOCKET,NODE

Эта команда показывает архитектуру процессора и как ядра распределены в системе:

  • Socket — сколько физических процессоров (CPU) установлено
  • Core — сколько ядер в каждом процессоре
  • NUMA — сколько NUMA-узлов и как они связаны

По сути, ты смотришь, как Linux видит твой CPU: сколько у него «мозгов» и как они сгруппированы.


apt install numactl -y
numactl --hardware

Эта команда выводит NUMA-топологию системы:

  • сколько NUMA-нод
  • какие CPU относятся к каждой ноде
  • сколько памяти у каждой ноды
  • расстояния между нодами (latency)

Эти команды пригодятся, если нужно правильно привязать CPU-ядра и память к виртуальной машине в Proxmox. CPU affinity + RAM bind ( Пример шесть ядер, 96gb ram)

Включить NUMA для VM

qm set 100 --numa 1

Привязка CPU (host)

qm set 100 --affinity 16-21

Привязка памяти (главное)

qm set 100 --numa0 cpus=0-5,hostnodes=1,memory=96048,policy=bind

numastat -p $(pidof kvm)

#proxmox #linux #numa #cpu pinning #virtualization #sysadmin