What are the ramifications of reducing the number of CPUs in a Windows 2012 virtual server

We have a Windows 2012 R2 server running SQL server 2012.  The server is a virtual machine in ESXi 5.5.

One of the other engineers here gave the Virtual machine all 12 cores of the ESXI host.

My question is, Can I reduce the number of cores from12 back down to 4?

What impact would that have on either Windows Server 2012 R2 or SQL 2012?

Is it even possible or will I need to build a new server and migrate the databases?
Joel ParmerProgram CoordinatorAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Brad GrouxSenior Manager (Wintel Engineering)Commented:
Windows Server 2012 has no problem handling changes to the number of CPUs assigned (or any other hardware components). Simply shutdown the server, make the changes in ESX and restart the server.

Obviously you want to monitor the health of the system once you bring it back up to insure that you didn't tune it down too much.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
DcpKingCommented:
There's also a benefit to reducing the number of cores associated with the VM - look at the licencing for your SQL Server instance. You may find (depending on the edition) that it's considerably cheaper to use 4 or 8  cores than it is to use all 12. Look at the MS Licencing Guide.

hth

Mike
0
Ryan ManganCommented:
Hi,

Have a read of the following article about CPU allocation.

http://ryanmangansitblog.com/2014/01/18/deciding-on-how-many-vcpus-should-a-virtual-machine-be-allocated/ 

Rule of thumb is start with one and add more if required, With regards to SQL always start with two vCPU's.

VMware does have a few artcles on Virtualising SQL which may also be of some use.

Have a look at the following:

http://www.vmware.com/files/pdf/solutions/SQL_Server_on_VMware-Best_Practices_Guide.pdf
0
Ratnesh MishraCommented:
It is really easy to understand how the CPU allocation works in HYPER-V of Microsoft virtualization and ESXi of VMWare virtualization.

http://sangnak.com/cpu-calculation-for-virtual-machine-in-hyper-v-and-esxi/

Hyper-V really works on core and limitation is of 4 core per VM  where as VMWare works on processing capacity means it will be in MHz or say GHz . Calculation of processing capacity can be find in the link mentioned above.
Now on to your question ,
Can I reduce the number of cores from12 back down to 4?
The best method or approach I would suggest is to check with the performance logs of the VM and its consumption during peak hours. If it never reaches to the total capacity allocated you can reduce it to the maximum limit it had achieved ever.
For example , you have installed ESXi on 12 core 3.2 GHz processor so total processing capacity allocated is  3.2x12 = 38.4 GHz and if you see in the performance log that it had reached maximum processing capacity of 12.6 Ghz . So allocating 4 core will be suggested. Apart from this ESXi also has a feature of giving more than the allocated processing capacity if its available on the ESXi and once the requirement goes down it reclaims it.

What impact would that have on either Windows Server 2012 R2 or SQL 2012?
Lowering of CPU doesnot always impact unless its a very high CPU intensive application is running. If you check and find that the usage of CPU doesnot exceed beyond a limit then lowering of CPU will not make much of a difference however if lowering of CPU is done even beyond the expected value or calculative value and not much of CPU processing is free then you may observe latency in SQL server or guest windows 2012.

Is it even possible or will I need to build a new server and migrate the databases?
Yes changing of CPU is possible. However change in number of CPU to the running VM is not allowed in ESXi , you can change it after shutting down the VM . Just for CPU changing its worthless to create new server or migrating database.

I would suggest you to change the CPU number and check if its working fine with you or not and if you find the CPU utilization is quite high in Windows server then you can revert back the changes.

If this much information doesn't provide you enough information ,please let me know so that either we can share the screenshot and suggest you the best solution.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Server OS

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.