NUMA question

brucexx

Renowned Member
Mar 19, 2015
236
9
83
DO I need to enable numa on VM with 2 logical cores setup with Hyper-threading ?

I understand I need it with more than 2 cores for obvious reasons but I though I read somwhere that if there are only 2 cores and it is a CPU with Hyper-threading (in my case Xeon v4 family) I don't have to.

Let me know what you think...

Thank you
 
Hi,

NUMA you need if you have more than one CPU socket.
And if you have more than one socket you should activate it only,
if a VM has more cores than one socket got.
 
Thank you

I am not sure if I understand. I thought that numa had 2 main objectives in multi socket hyper-visor:
1 allocate the logical cores for a VM within the same CPU socket and
2 allocate memory for a logical core within the same CPU socket
...so there is no penalty when processing. So if I understand correctly numa does not allocate the logical cores per VM within the same socket ? I would assume then that the hyper-visor does it ?

let me know.
 
The NUMA flag makes the VM aware of NUMA architecture.

I would assume then that the hyper-visor does it ?
You can also run a non NUMA VM on a NUMA Node, if you use only the memory and cores of one Node.
 
Hi,

NUMA you need if you have more than one CPU socket.
Hi,
some opterons have NUMA with one socket, because inside the CPU are two of them.
And if you have more than one socket you should activate it only,
if a VM has more cores than one socket got.
Why? Or better, what is the drawback if I enable numa on VMs with less cores than on cpu have (incl. HT)?

Udo
 
Numa
Why? Or better, what is the drawback if I enable numa on VMs with less cores than on cpu have (incl. HT)?
A little cpu overhead and you use numa instead of stay on one socket.
 
The NUMA flag makes the VM aware of NUMA architecture.


You can also run a non NUMA VM on a NUMA Node, if you use only the memory and cores of one Node.
So if I have a NUMA server with 2 sockets, and I want a VM to run on (and use the memory of) a single socket (NUMA node) only, then I should disable the NUMA option and the hypervisor will make sure it will stay on one NUMA node?

The wiki says the exact opposite:
https://pve.proxmox.com/wiki/NUMA
"If you enable this feature, your system will try to arrange the resources such that a VM does have all its vCPUs on the same physical socket and only uses memory that is physically connected to that socket."

So I'm kinde confused, what's the best practive on NUMA servers to make sure that all my VMs stay on one node only?
None of them use more resources then a single node cpu or memory wise...
 
Last edited:

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!