VMware Cloud Community
autocrib
Contributor
Contributor

Underutilized logical cores on ESXi 3.5 U5

I am using ESXi 3.5 U5 on 2 socket cpus with HT which gives 4 logical cores. My VM is running Windows 2003 Server with 2 vCPU each. On one physical server I have two vm running and on another physical server only one vm. What I noticed is by default the logical cores 1 and 3 on both physical servers is grossly underutilized compared to logical cores 2 and 4. Ratio of over 2:1. Is there setting to allow for all logical cores to be used? Should I increase the vCPU on the vm from 2 to 4? One is a domain controller, one is multipurpose WSUS, antivirus server (using SQL and MYSQL) and the third is a web server with a SQL server as well.

Thanks

Isaak Tran

0 Kudos
5 Replies
marcelo_soares
Champion
Champion

If you assign only 2 vCPUs it will never use simultaneously more than 2. You will need to assign, as you said, 4 vCPUs to the VM for the expected behavior.

Marcelo Soares

VMWare Certified Professional 310/410

Virtualization Tech Master

Globant Argentina

Consider awarding points for "helpful" and/or "correct" answers.

Marcelo Soares
0 Kudos
autocrib
Contributor
Contributor

I will try that on the physical server with only one VM. In regards to the physical servers with 2 or more VMs, should I do the same to each of the VMs and set it for 4 vCPU each? I read somewhere that it was not recommended to add too many vCPU to the VMs.

Thanks again.

0 Kudos
marcelo_soares
Champion
Champion

The reason why people say this is because of the ESX scheduler behavior. When a VM have 2 vCPUs, when it needs to use the processor it needs to reserve simultaneously 2 cores for this (or the number of vCPUs it have). So, more you have vCPUs running on physical cores, more they will conflict with each other for reservation.

With only 1 VM on the box there is no reason to use less than 4 vCPUs (only the fact that the ESX uses 1 core for management, but with this I really think you don't need to worry about). On the other, you can take advantage of the scheduler and keep 2 on each VM. You can try to take more advantage (as VMs are not 100% of the time processing) of using 4 vCPUs on each VM - is really up to you.

Marcelo Soares

VMWare Certified Professional 310/410

Virtualization Tech Master

Globant Argentina

Consider awarding points for "helpful" and/or "correct" answers.

Marcelo Soares
jkumhar75
Hot Shot
Hot Shot

Your VM will be utilizing the processors as per there requirement.Since you are running only one VM at present on the physical ESX servers, hence i think it doesn't matter.you will only see the slight increse in performance after assigning the 4 vCPU to this VM.

So you should not be more worry about this unde rutilization.If you add more VM's to the ESX servers then only you can utilise your investment on the virtualization.

For more understanding on the vCPU assignment and utilization,refer the below link of good disscussion.

http://communities.vmware.com/message/1210692

MCSE,VCP 310,VCP 410

If you found this or other information useful, please consider awarding points for "Correct" or "Helpful". Jayprakash VCP3,VCP4,MCSE 2003 http://kb.vmware.com/
autocrib
Contributor
Contributor

What I found out is changing it to 4 vCPU didn't help. I read somewhere that ESXi tends to prefer physical cores over logical cores, and in this case the logical core is derived from HT. I know the whole point to virtualization is to harness the unused server load, but in my case its just time for faster hardware. The server load of my VM is average 90%. I'll also switch Vsphere, once the new hardware comes to that will support 64bit. I guess in the end the answer is again it depends, but in my case I think I rather bypass HT on the new hardware and let ESXi do the scheduling from the physical cores.

Thanks everyone for all your help.

0 Kudos