Using Multiple Processors Inside of a Virtual Machine

Writing

I was very interested in testing some of the updates to the Parallel Extensions to .NET that have been included with the new Visual Studio 2010 CTP. Since it is hard to test some of the features without actually having multiple CPUs I wanted to update the VS2010 CTP virtual machine to be a VMWare virtual machine. I updated the VM by importing it into VMWare Workstation but I was still having the issue where I could not see more than one CPU.

The odd thing was that Windows Server 2008 itself could see both virtual CPUs:

 CpusInDeviceManager

But in TaskManager it clearly wasn’t using both CPUs:

CpusInTaskManager

I kept searching on Google and I was finding references to updating the Hardware Abstraction Layer (HAL), but I was having problems finding out how to do this in Windows Server 2008. Finally I found an article that pointed me to MsConfig:

MsConfig

And in MsConfig go into the Boot tab:

MsConfigBootTab

And then to the Advanced Options:

MsConfigDetectHAL

Then all you have to do is check the “detect HAL” checkbox. Windows will tell you that you need to reboot, and once you do:

 CpusInTaskManager2Cpu

There you have it! I can now run the Parallel Extensions with multiple CPUs. This fix was so hard for me to discover that I hope this helps someone out!

Loved the article? Hated it? Didn’t even read it?

We’d love to hear from you.

Reach Out

Comments (5)

  1. [quote]Detect HAL – When there are multiple operating systems installed on the same hard drive partition, Detect HAL searches for the different versions of the HAL that are installed on the computer and adds a prompt that allows you to select which operating system to boot to.[/quote]

    Why does that enable multiple processors?

  2. @configurator Hmmm, where did you get that explanation of the feature? Looks to me like someone did an accidental copy/paste from another feature. From everything that I have seen, this feature causes the OS to auto-detect the Hardware Abstraction Layer upon startup (instead of using the value from installation) so that it will see you are using more than one CPU and load the multi-cpu HAL.

Leave a comment

Leave a Reply

Your email address will not be published.

More Insights

View All