0

I have server that contains 2 physical socketed Xeon CPUs. Each Xeon has 6 cores, so with hyperthreading disabled on one server I have CPUs 0-11.

If I enable hyper threading, I was under the impression that logical CPUs would be 0-23 (0-11 for cores, 12-23 for hyperthreads). I want to assign one VM 8 Cores + 8 hyperhtreads, then all other VMs would be assigned 4 cores.

My question here revolves around this. I have read that for my system it would start as core 0 hyperthread 1, core 2 hyperthead 3, etc.. but also read it would be core 0, 1, 2 etc and then hyperthread 12, 13, 14...Which is correct? I do not wish to assign affinity for hyper threads, but first and foremost to give this VM exclusive access to first 8 cores, then add hyper threads.

The goal is for one server if under intensive load will not affect the other 6 servers, and vice versa.

Sean W
  • 1

1 Answers1

3

Why would you disable hyperthreading? It's in direct contravention to VMware's Performance Guidelines.

Anyway you've got the numbering wrong - with HT enabled CPU 0, core 0, thread 0 is seen by ESXi as CPU number 0, thread 1 is CPU number 1, core 1 thread 0 is CPU number 2, it's thread 1 is CPU number 3 etc.

Either way don't worry about it, as soon as you add a ninth vCPU to a VM you switch it into vNUMA mode and it'll all be optimised by ESXi based on your actual socket/core/thread relationship without you having to do anything. Again this is covered in the performance guideline document.

Chopper3
  • 101,299
  • 9
  • 108
  • 239