Mark Minasi's Tech Forum
Sign up Calendar Latest Topics
 
 
 


Reply
  Author   Comment  
Protech

Avatar / Picture

New Friend (or an Old Friend who Built a New Account)
Registered:
Posts: 64
Reply with quote  #1 



Hi all,

Could you guys confirm if my understanding is correct here:

Looking at the attached picture:

Sockets = physical sockets/CPU's therefore 2 CPU's
Cores = 10 per physical cores per CPU therefore 20 in total
Logical processors = 40 (2 x 20) because hyperthreading is enabled. If hyperthreading is disabled it would be 10 (1x10)

If the above is correct, how many virtual CPU's are available to be assigned to VM's?

Does the version of Windows the Server is running make any difference?

Cheers

PT





Capture.jpg



0
cj_berlin

Avatar / Picture

Senior Member
Registered:
Posts: 420
Reply with quote  #2 
Hi,

you are correct, 40 virtual cores with HT on, 20 virtual cores with HT off. In theory, you could assign 40 vCPUs to a VM (Hyper-V max is 64 but you can't overcommit CPU with a single VM). If you disable NUMA awareness, it would be 20 vCPUs max since a VM would not be allowed to span NUMA nodes (with this CPU model, you have one NUMA node per socket).

__________________
Evgenij Smirnov

My personal blog (German): http://www.it-pro-berlin.de/
My stuff on PSGallery: https://www.powershellgallery.com/profiles/it-pro-berlin.de/
0
Protech

Avatar / Picture

New Friend (or an Old Friend who Built a New Account)
Registered:
Posts: 64
Reply with quote  #3 
Thanks for the info.

One other thing. Are Logical and Virtual CPU's the same thing?

0
dennis-360ict

New Friend (or an Old Friend who Built a New Account)
Registered:
Posts: 93
Reply with quote  #4 
depends.. The Hypervisor can assig "logical" cpu's to virtual machines, so in that regard they are the same. But once a logical cpu is assigned to a vm, that's called a virtual cpu, vCpu as we like to shorten everything coz w r lazy.

And if you have like 10 cores in a hypervisor, you can have 20 VM's with 1 vCPU's, technically you are "overcommitting", giving VMs more resources than there are actually available in the hypervisor. Which is ok if all your VMs have a 10% vCPU load:
10% vCPU x 20 VMs = 200 vCPU % total, which can be handles by 2 logical cores
but if they have 100% vCPU
100% vCPU x 20 VMs = 2000 vCPU % total, you would need 20 logical cores
this is simplified, the hypervisor needs some cpu % to schedule the VMs over the cores, hyperthreading is a trick to use 1 core as 2, and scheduling VMs with multiple cores has more overhead too. So it's hard to actually calculate how how you would need, it's better just to watch the actual load.

In practice most of us run into memory or disk i/o as the first barrier.

One note on hyperthreading, the general consensus is that is has more benefits than downside. But we have seen downsides on heavy loaded hypervisors where we get better performance disabling hyperthreading. And also, don't trust the taskmanager to look at the load of the cpu from hyper-v. use perfmon to look at the real load.

Sorry to dump all this info on you, but hypervisors are easy untiil you run into issues..

__________________
-----
Home is where is sleep
360ict.nl/blog
thegood.cloud
0
Previous Topic | Next Topic
Print
Reply

Quick Navigation:

Easily create a Forum Website with Website Toolbox.