VMware Cloud Community
Seth_A
Contributor
Contributor

Adding vCPUs to an Existing Windows 2003 Standard Guest

Good Afternoon,

We are currently researching adding an additional vCPU(moving from 1 to 2) to a Windows 2003 Standard guest. I have a few questions for the experts before we move forward:

(1) Are there any potential "gothchas" with making this type of change? There is a warning in the VirtualCenter interface "Changing the number of virtual processors after the guest OS is installed may make your virtual machine unstable." Is this a concern?

(2) Is there any reading material out there related to considerations that should be taken into account before making the change? From either the OS or VMware perspective (or both)?

Thanks in advance for any information!

Seth

0 Kudos
4 Replies
dkfbp
Expert
Expert

Hi,

When going from 1 to 2 CPUS it is important to check that the windows 2003 HAL is changed to multiprocessor. You can check it under Device Manager - Computer. It should say "ACPI Uniprocessor" now and after the extra cpu has been added and the virtual machine rebooted it should say "ACPI Multi processor"

I have added an extra CPU to windows 2003 servers plenty of times without any problems.

Best regards

Frank Brix Pedersen

Best regards Frank Brix Pedersen blog: http://www.vfrank.org
0 Kudos
Seth_A
Contributor
Contributor

Thanks Frank!

Are there any manual changes to the HAL or is this automatic?

0 Kudos
JonRoderick
Hot Shot
Hot Shot

With Server 2003, the HAL change is automatic when moving to 2+ vCPUs. Reverting back is more difficult, you'll need to be running Server 2003 SP2 or install MS hotfix 923425 onto SP1 in order to be able to take the 2nd vCPU away and revert toa uniprocessor HAL. Running a single vCPU with a multiprocessor HAL is not recommended - other posts on the forum will cover why.

Make sure you really do need that 2nd vCPU - co-scheduling multiple CPUs will place a constraint on your VM and could lead to performance issues if your ESX host is heavily utilised from a CPU perspective. If you can get away with 1vCPU all the better - don't be persuaded by the application owner that they 'must have another CPU' - look at what Virtual Center/esxtop is telling you.

Good luck.

Jon

0 Kudos
marburg
Contributor
Contributor

I'm not sure if I'm the only one with this problem, but I experienced an issue after adding a second CPU to a VM with a Win2003 guest system when performing an I/O test with SQLIO. After a few seconds after I began the test, the guest system just froze. Any suggestions? Is this a known issue or could the OS or ESX configuration be errornous? The HAL automatically changed to muliprocessor, so I guess this is not the reason.

Thanks in advance

edit: Maybe I should add, that the test ran fine with one vCPU, after adding the secon vCPU I took the SQLIO config I used with the 1CPU system and after that I changed the config to use 2 threads, both times with the same result -> frozen VM.

0 Kudos