hi ,
how do u calculate vCPU from your hosts.
I've seen a few forums on different opinions but how do you actually work it out.
my system is 2x Processors
8-Cores 16-Threads each.
is vCPU based on your total CPU cores so 1vcpu would be 1 core etc etc
I think it is worth pointing out that the number of vCPUs allocated to VMs multiple is not constrained by the host either. Kinnison's point is that any one VM can only have as many vCPUs as there are threads on a host. You can have more than one of these VMs though. In practical use, this wouldn't be a good idea, but the reason for this is probably only going to confuse things here.
An extreme example is that Kinnison's host could quite happily run TWO VMs with 56 vCPUs. I.e there are 112 vCPUs allocated. ESXi will switch the available host threads between all those 112 vCPUs staring the CPU time as fairly as possible. This is called "over provisioning", and is a valid technique to use.
In practical situations the limiting factor when over provisioning is memory, this has in my experience tended to be the first resource to run low and impact performance noticeably.
A very good read on this, which I highly recommend, can be had with the "VMware vSphere 6.5 - Host Resource Deep Dive" by Frank Denneman and Niels Hagoort. This is still available free I believe, details here : https://frankdenneman.nl/2017/11/07/free-vsphere-6-5-host-resources-deep-dive-ebook/
Usually plenty of second hand copies on sites like Amazon, if real books are more your thing. That's what I did, as I find a real book more pleasant to sit and read. I have the eBook version too (Its a PDF) as the indices and content pages in the books are not very useful for finding stuff, and the PDF comes in handy when searching for terms and content.
Although this book was written when vSphere 6.5 was the latest and greatest, there is not much in the book that isn't relevant to later releases.
Comment removed...
I think it is worth pointing out that the number of vCPUs allocated to VMs multiple is not constrained by the host either. Kinnison's point is that any one VM can only have as many vCPUs as there are threads on a host. You can have more than one of these VMs though. In practical use, this wouldn't be a good idea, but the reason for this is probably only going to confuse things here.
An extreme example is that Kinnison's host could quite happily run TWO VMs with 56 vCPUs. I.e there are 112 vCPUs allocated. ESXi will switch the available host threads between all those 112 vCPUs staring the CPU time as fairly as possible. This is called "over provisioning", and is a valid technique to use.
In practical situations the limiting factor when over provisioning is memory, this has in my experience tended to be the first resource to run low and impact performance noticeably.
A very good read on this, which I highly recommend, can be had with the "VMware vSphere 6.5 - Host Resource Deep Dive" by Frank Denneman and Niels Hagoort. This is still available free I believe, details here : https://frankdenneman.nl/2017/11/07/free-vsphere-6-5-host-resources-deep-dive-ebook/
Usually plenty of second hand copies on sites like Amazon, if real books are more your thing. That's what I did, as I find a real book more pleasant to sit and read. I have the eBook version too (Its a PDF) as the indices and content pages in the books are not very useful for finding stuff, and the PDF comes in handy when searching for terms and content.
Although this book was written when vSphere 6.5 was the latest and greatest, there is not much in the book that isn't relevant to later releases.
Comment removed...
Please follow the tree --->
Physical CPU X ( total number of cores per cpu X total number of threads) = Vcpu
Eg
1 Physical cpu with 6 core and 12 threads ( threads are generally double the size - this can be referred in white paper of your hardware vendor
1 x ( 6 x 12) = 72 vcpu permissible
Please note : the above calculation is for Maximum w.r.t Hardware , you also need to review your licensing for Virtualization that you have procured.
Hope this Helps
To get double the "vCPU" on a processor you need to have hardware that supports it. Most servers come with Intel Xeon processors which have hyperthreading, some AMD support Simultaneous Multi-Threading (SMT, same thing) but I don't know the series names from AMD.
But hyperthreading and SMT only will, in practical terms, give you about 20% of a core in performance.
This is all moot since VMware DRS will dispatch on available MHz/GHz not idle cores/threads and is why over-provisioning works.