2

I just stumbled above this weird NUMA configuration on one of our Hyper-V virtual machines. How comes it shows 3 NUMA nodes?

enter image description here

This is what the Task Manager (correctly) tells me.

enter image description here

Matthias Güntert
  • 2,438
  • 12
  • 39
  • 59

2 Answers2

2

While I've never seen that on our hyper-v servers before, I have read of something that sounds similar.

You might be looking at numa spanning happening.

Your physical host does not have enough memory in his NUMA nodes to accommodate your 112GB (keeping in mind the way NUMA nodes and memory works)
As such it is splitting up your 2 processors across 3 physical processors, to allow for the amount of memory you requested.

While not really a bad thing (as it allows you to create a machine with the settings you want) it is bad for performance. Most notably you might see performance changes between reboots, which will have you scratching your head.

Reaces
  • 5,597
  • 4
  • 38
  • 46
  • Respectfully, this answer is just speculation, and it's not correct. See my response to the question. – Jake Oshins Apr 22 '15 at 17:34
  • @JakeOshins I thought this was because `By default, these values are set to align with the host’s physical NUMA topology.`. As you said in your answer, you don't generally configure this yourself, but wouldn't it set it like this if that's what the host's physical NUMA topology is like? – Reaces Apr 22 '15 at 17:41
  • By default, the VM will match the physical machine. I doubt, however, this is how his physical machine is built. I suspect somebody played with the values in the settings. – Jake Oshins Apr 22 '15 at 22:15
  • @JakeOshins So I guess we're both speculating, me on the machine build and you on the possibility that someone changed the setting ;). Regardless, I'm currently not convinced my answer is incorrect. In fact I think that depending on the situation both answers are possible, all be it yours probably more likely. If I'm wrong feel free to comment, I'm sure you know this better than I! – Reaces Apr 23 '15 at 07:05
1

You have your VM configured with 65536MB of RAM. You have the maximum amount of memory per NUMA node for your VM set at 30864MB. If you divide 65536 by 30864, you get 2 with a remainder of 3808MB. Thus your VM will appear to have 3 NUMA nodes. Processors and memory will be spread evenly across those three nodes, more or less.

This can happen if you have migrated the VM from another host with a different NUMA architecture or if you have enabled hyper-threading on an existing host with existing VMs.

While I have no idea how you managed to put your VM into this state, I do know how to get it out of that state. You shut the VM down, go to the Settings of that VM, expand the Processor, then click on NUMA. Here you can either push the "Use Hardware Topology" button or you manually configure it in a way that pleases you.

Jake Oshins
  • 5,146
  • 18
  • 15