VMware Cloud Community
sean1017
Contributor
Contributor
Jump to solution

P2Ving 2CPU machines that don't need 2 CPUs in VMWare

I have been P2Ving all our production machines to VMs and many of these are dual processor servers. Most of these don't need to be 2 CPU VMs (i.e. file servers, monitoring servers, etc) and I feel that because I have so many 2 CPU VMs it's killing my processors and causing delays in other VMs. I'd like to change these to single CPUs but I'm worried about the HAL as I've read that this isn't recommended. So what options do I have other than rebuilding the server from scratch as a single CPU VM?

Reply
0 Kudos
1 Solution

Accepted Solutions
esiebert7625
Immortal
Immortal
Jump to solution

It's really pretty simple as outlined in the above post, I have done dozens of these on Windows Server 2003 and all you need to do is edit the CPU device settings and reboot. I also always recommend that you also remove all the old non-present, hidden hardware in Device Manager because Windows will still devote resources to them even though they are gone.

What should I do after I successfully convert my virtual machine?

If you change from a multi-processor system to a uni-processor system you need to manually change the HAL on the Windows server after the conversion. To do this go into Device Manager after the machine first boots and discovers it's new hardware and then click on Computer then right-click on the processor and select Update Driver. Then select Install from specific location and then Don't search I will choose the driver to install. Then select show All compatible hardware and select the appropriate processor. For example, if you went from a dual cpu to a single cpu then select ACPI uni-processor PC instead of ACPI multi-processor PC. You will need to reboot once you change this. To verify what HAL you are using you right-click your hal.dll in c:\windows\system32 and select the Version tab and select Internal Name and it should say halmacpi.dll for multi-processor acpi and halacpi.dll for uni-processor acpi.

Next clean up all the non-present hardware after the P2V conversion. To do this go to a CMD prompt and type SET DEVMGR_SHOW_NONPRESENT_DEVICES=1 and then DEVMGMT.MSC and then select Show Hidden Devices. Delete any old grayed out hardware.

Next remove any vendor specific applications/drivers. For example on a HP server you should go to Add/Remove programs and remove any HP management agents, survey utility, array config utility, version control agent, etc. Also check your NIC and make sure there are no vendor specific drivers there (ie. teaming). Check the Services to see if all there is anything vendor specific related there and disable any services that are.

-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-

Thanks, Eric

Visit my website:

-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-

View solution in original post

Reply
0 Kudos
12 Replies
jayolsen
Expert
Expert
Jump to solution

Depends on the guest OS. Windows 2000 its a piece of cake to do in device manager. NT4 you can mount the vmdk on another VM and replace ntoskrnl to a single cpu version. Windows 2003 don't think you should really need to do anything from some other posts I've read. No clue in the linux world.

Dave_Mishchenko
Immortal
Immortal
Jump to solution

For Windows the procedure for changing the HAL to uni processor is documented here: http://www.vmware.com/community/thread.jspa?threadID=84611&messageID=646375#646375

sean1017
Contributor
Contributor
Jump to solution

all our servers are windows 2003. So this isn't as big of a deal as I'm making it out to be?

Has anybody had experience doing this with windows 2003 servers?

Reply
0 Kudos
jayolsen
Expert
Expert
Jump to solution

Looks like Dave post the answer for W2k3 boxes. First I had seen that one...good to know.

I don't have SP2 so hadn't seen that yet.

Reply
0 Kudos
esiebert7625
Immortal
Immortal
Jump to solution

It's really pretty simple as outlined in the above post, I have done dozens of these on Windows Server 2003 and all you need to do is edit the CPU device settings and reboot. I also always recommend that you also remove all the old non-present, hidden hardware in Device Manager because Windows will still devote resources to them even though they are gone.

What should I do after I successfully convert my virtual machine?

If you change from a multi-processor system to a uni-processor system you need to manually change the HAL on the Windows server after the conversion. To do this go into Device Manager after the machine first boots and discovers it's new hardware and then click on Computer then right-click on the processor and select Update Driver. Then select Install from specific location and then Don't search I will choose the driver to install. Then select show All compatible hardware and select the appropriate processor. For example, if you went from a dual cpu to a single cpu then select ACPI uni-processor PC instead of ACPI multi-processor PC. You will need to reboot once you change this. To verify what HAL you are using you right-click your hal.dll in c:\windows\system32 and select the Version tab and select Internal Name and it should say halmacpi.dll for multi-processor acpi and halacpi.dll for uni-processor acpi.

Next clean up all the non-present hardware after the P2V conversion. To do this go to a CMD prompt and type SET DEVMGR_SHOW_NONPRESENT_DEVICES=1 and then DEVMGMT.MSC and then select Show Hidden Devices. Delete any old grayed out hardware.

Next remove any vendor specific applications/drivers. For example on a HP server you should go to Add/Remove programs and remove any HP management agents, survey utility, array config utility, version control agent, etc. Also check your NIC and make sure there are no vendor specific drivers there (ie. teaming). Check the Services to see if all there is anything vendor specific related there and disable any services that are.

-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-

Thanks, Eric

Visit my website:

-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-

Reply
0 Kudos
sean1017
Contributor
Contributor
Jump to solution

thank you esiebert...the fact that you've done it plenty of times gives me some comfort.

I'd like to give you and dave credit for giving me the correct answers though it seems since i already gave dave a helpful i can't change that to a "correct answer" status.

Can you split correct answers? Dave pointed me to the article that I do indeed need because before applying SP2 the ACPI uniprocessor driver wasn't available. And you have given me the comfort of knowing that this shouldn't cause much trouble (although I'll still be sure to snapshot just in case).

Let me know

Sean

Reply
0 Kudos
esiebert7625
Immortal
Immortal
Jump to solution

You actually cannot split correct answers with the current points system, only one correct answer is allowed.

-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-

Thanks, Eric

Visit my website:

-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-

Reply
0 Kudos
sean1017
Contributor
Contributor
Jump to solution

i have done this successfully on 5 machines but for some reason the 6th one is giving me an access denied message when i go to change the driver to uniprocessor.

has anybody seen this?

Reply
0 Kudos
esiebert7625
Immortal
Immortal
Jump to solution

Sounds like the Windows user you are using does not have the access it needs, did this work on the physical server?

-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-

Thanks, Eric

Visit my website:

-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-

Reply
0 Kudos
sean1017
Contributor
Contributor
Jump to solution

i was logged in as the domain adminstrator and therefore should've had rights....anyway, i booted it into safe mode and to my surprise it was showing uniprocessor in device manager (and the hal.dll was correct) so i rebooted and it was all good in regular mode too.

odd..

thanks! i can already see the performance improvement.

Reply
0 Kudos
arisaperstein
Enthusiast
Enthusiast
Jump to solution

Jst as a point of interest, if you use PlateSpin PowerConvert to P2V, it takes care of all these issues for you during the P2V process. PowerConvert isnt free but boy does it save time.

Reply
0 Kudos
sdibias
Contributor
Contributor
Jump to solution

I had the same issue as and booting into Safe Mode also showed Uni, when I logged back into the VM it was showing up correctly even though I was getting Access is Denied errors. Strange

Reply
0 Kudos