NUMA don't work for Windows guest VMs ?

gosha

Well-Known Member
Oct 20, 2014
302
24
58
Russia
Hi!

All my nodes support NUMA, for example:
Code:
# numactl --hardware
available: 2 nodes (0-1)
node 0 cpus: 0 1 2 3 4 5 12 13 14 15 16 17
node 0 size: 16009 MB
node 0 free: 143 MB
node 1 cpus: 6 7 8 9 10 11 18 19 20 21 22 23
node 1 size: 16122 MB
node 1 free: 84 MB
node distances:
node   0   1
  0:  10  20
  1:  20  10

I tried setup NUMА for all VMs.
After reboot nodes, I manually started all VMs and watched via numstat.
After start all linux VMs - NUMA worked:
numa_miss and numa_foreign had zero values.

But after start VMs with Windows guest these values have changed.
Example:
Code:
# numastat
                           node0           node1
numa_hit               155496666       110965077
numa_miss                 422506         7483014
numa_foreign             7483014          422506
interleave_hit             15426           16633
local_node             154937106       107410644
other_node                982066        11037447

Why? :(

proxmox-ve: 4.4-94 (running kernel: 4.4.76-1-pve)
pve-manager: 4.4-18 (running version: 4.4-18/ef2610e8)
pve-kernel-4.4.76-1-pve: 4.4.76-94
lvm2: 2.02.116-pve3
corosync-pve: 2.4.2-2~pve4+1
libqb0: 1.0.1-1
pve-cluster: 4.0-52
qemu-server: 4.0-112
pve-firmware: 1.1-11
libpve-common-perl: 4.0-96
libpve-access-control: 4.0-23
libpve-storage-perl: 4.0-76
pve-libspice-server1: 0.12.8-2
vncterm: 1.3-2
pve-docs: 4.4-4
pve-qemu-kvm: 2.7.1-4
pve-container: 1.0-101
pve-firewall: 2.0-33
pve-ha-manager: 1.0-41
ksm-control-daemon: 1.2-1
glusterfs-client: 3.5.2-2+deb8u3
lxc-pve: 2.0.7-4
lxcfs: 2.0.6-pve1
criu: 1.6.0-1
novnc-pve: 0.5-9
smartmontools: 6.5+svn4324-1~pve80
fence-agents-pve: 4.0.20-1


Best regards,
Gosha
 
Hi,

can you please send the Windows VM config.
 
Hi,

can you please send the Windows VM config.

cat /etc/pve/qemu-server/105.conf
balloon: 0
boot: c
bootdisk: scsi0
cores: 6
memory: 20480
name: ts1
net0: virtio=4E:5D:97:43:13:09,bridge=vmbr0
net1: virtio=C6:E3:D7:6A:B3:74,bridge=vmbr2
numa: 1
ostype: win7
scsi0: ceph_stor:vm-105-disk-1,cache=writethrough,size=50G
scsi1: ceph_stor:vm-105-disk-2,cache=writeback,size=200G
scsihw: virtio-scsi-single
smbios1: uuid=a2a5f12e-51b5-4431-babf-1b4c298c890b
sockets: 2
tablet: 0

This like all Windows-VMs configs.
 
...and I tried like this:

....
numa: 1
numa0: cpus=0;1;2;3;4;5,hostnodes=0,memory=10240,policy=bind
numa1: cpus=6;7;8;9;10;11,hostnodes=1,memory=10240,policy=bind

....

and NUMA don't work...

But for linux-VMs - works.
 
Hi!

Is there really no solution? :(

Can this be affected by non-use ballooning?

Best regards,
Gosha
 
Hi!
Can anyone confirm whether NUMA is working for Windows-guest VMs?
I want to understand: this is only my problem or general.

Best regards,
Gosha
 
Last edited:
Hi! I have AMD EPYC™ 7401P platform /4 NUMA nodes/. And NUMA seems to work pretty well. When Windows 2008r2 Guest (2 sockets*12cores) has started, "numastat" shows, that numa_miss and numa_foreign got zero values. Proxmox VE 5.1.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!