Proxmox: привязка CPU к виртуальным машинам

Взял отсюда: https://telegra.ph/Proxmox-privyazka-CPU-k-virtualnym-mashinam-09-03

Создаём виртуалку с нужной конфигурацией.

Проверяем архитектуру CPU и NUMA-узлы:

lscpu | grep NUMA

Ожидаемый вывод должен показать NUMA-узлы и ядра:

NUMA node(s):                       4
NUMA node0 CPU(s):                  0-7,32-39
NUMA node1 CPU(s):                  8-15,40-47
NUMA node2 CPU(s):                  16-23,48-55
NUMA node3 CPU(s):                  24-31,56-63

У нас 4 NUMA-узла, в каждом по 8 ядер и 8 потоков.

Если нужно «привязать» виртуалку к конкретному NUMA-узлу, например к первому, то используем affinity 0-7,32-39.

Файл конфигурации VM в Proxmox должен содержать параметры numa, cpu и affinity:

cores: 16
cpu: cputype=host
affinity: 0-7,32-39
numa: 1
numa0: cpus=0-15,hostnodes=0,memory=114688,policy=bind

Здесь мы создаём виртуалку с 16 ядрами и 112 ГБ памяти.

На стороне VM видим один NUMA-узел с 16 ядрами:

# lscpu | grep NUMA
NUMA node(s):                         1
NUMA node0 CPU(s):                    0-15