Взял отсюда: 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