VMware Cloud Community
Grax
Contributor
Contributor
Jump to solution

VM with multiple CPU?

I recently learned that unless it's really nessassary that VM's should have multiple cpu's, due to avaliable resource scheduling. Well I have several Windows 2003 VMs that I've configured with 2 CPU's and they don't need. Can anyone tell me the process of converting these VM's from 2 CPU to 1?

I'm guessing's it's going to involve changing the HAL of the VM and the configuration file of the VM. More detailed help would be great. What's the risk of complete screwing up the VM?

Thanks,

Andrew

0 Kudos
1 Solution

Accepted Solutions
rossb2b
Hot Shot
Hot Shot
Jump to solution

You may want to make a backup before starting.

Shutdown your VM

Using VC edit the settings of your VM and change the number of cpus to 1

Start you VM

Logon and go to device manager

Click on the Computer and then Update the driver for the miltiprocessor HAL

Choose not to search for software "No, not this time"

Choose "Install form a list or specific location"

Choose "Don't search , I will choose the driver to install"

Find the most appropriate driver - Avanced Configuration and Power interface (ACPI) PC

Reboot and you are done.

View solution in original post

0 Kudos
4 Replies
rossb2b
Hot Shot
Hot Shot
Jump to solution

You may want to make a backup before starting.

Shutdown your VM

Using VC edit the settings of your VM and change the number of cpus to 1

Start you VM

Logon and go to device manager

Click on the Computer and then Update the driver for the miltiprocessor HAL

Choose not to search for software "No, not this time"

Choose "Install form a list or specific location"

Choose "Don't search , I will choose the driver to install"

Find the most appropriate driver - Avanced Configuration and Power interface (ACPI) PC

Reboot and you are done.

0 Kudos
sthoppay_wipro
Enthusiast
Enthusiast
Jump to solution

Shutdown the VM. Backup if it is critical machine. Edit setting & change the number of CPU.

If it is windows 2003, it automatically senses & updates the HAL accordingly. It will prompt you to reboot.

Grax
Contributor
Contributor
Jump to solution

Thanks.

Actaully just changing it in settings didn't cause Windows 2003 to detect the change. Even forcing it to scan for changes didn't do it. Actually going in and changing the driver did the trick though.

Andrew

0 Kudos
snapper
Enthusiast
Enthusiast
Jump to solution

Hi Grax,

This is a fairly common situation for people. You can use the mentioned ways or you can make life easier and just script the change using devcon.

The reason Windows doesen't easily let you change between a uniprocessor (UP) and multiprocessor (MP) HAL is because it's configured that way in the hal.inf file (ie, valid options for a MP hal does not include a UP)

Devcon (command line device manager) has the capability to tell the HAL that it being a UP (uniprocessor) HAL is an option and vice versa.

Doing this will save you time in the long run. You will still have to modify the VM configuration to give it the correct number of CPUs.

I've posted the scripts I use to do the conversion to, and from, MP | UP hal within Windows 2000/2003 in a recent post:

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

This method is extremely safe, since it detects the kind of HAL (ie, acpiapic or acpipic etc) and upgrades it to the equivalent MP|UP version.

Cheers,

SP

Don't forget to award points where appropriate 🙂
0 Kudos