I also try to understand the relationship between NUMA hosts and VMs. Let's have a practical example: Dual-CPU Server with 8 cores / 16 threads each, resulting in 32 cores shown in Proxmox. And let's assume 128 GB RAM divided in 64 GB for each CPU.
What would be the best settings for different VM sizes?
1 vCore VM - i guess enabling NUMA makes no difference?
2, 4 or 8 vCore VM - enabling NUMA? 1 or 2 sockets?
10 or more vCore VM - my understanding is, that enabling NUMA is a must here, as well as assigning 2 sockets.
Is there a performance gain when assigning more than 16 vCores to a VM, since the system only has 16 physical cores total.
Does it make any sense to assign an odd amount of vCores (3, 5, 7, etc.)?
What about RAM? My understanding is, that I should enable NUMA if I assign more than 64 GB RAM to a VM. (More RAM then a single NUMA core has)
I am assuming Windows 10 or Linux (recent kernels) guests only.