The Virtual Machine Manager Service crashes when you add a virtual machine host that has more than 16 logical processors in VMM 2008 R2


Consider the following scenario:
  • You try to add a virtual machine host to Microsoft System Center Virtual Machine Manager (VMM) 2008 R2.
  • The virtual machine host has more than 16 logical processing units. For example, the virtual machine host has four 6-core processors.
In this scenario, the Virtual Machine Manager Service (Vmmservice.exe) crashes on the computer that is running VMM 2008 R2.

If you set up a trace for this problem, the trace log may indicate that the following exception occurred:
09435 00009433 273.19396973 [5684] 1634.16A4::07/22-20:50:29.545#26:VmRefresher.cs(182): System.InvalidOperationException: Nullable object must have a value.
09436 00009434 273.19396973 [5684] at System.Nullable`1.get_Value()
09437 00009435 273.19396973 [5684] at Microsoft.VirtualManager.Engine.Adhc.WindowsHostDataProperties.GetProcessorData()
09438 00009436 273.19396973 [5684] at Microsoft.VirtualManager.Engine.Adhc.WindowsHostDataProperties.PopulateProperties()
Additionally, the following events are logged in the VM Manager log.

Event ID 19999
Event ID 1Note Event ID 19999 and the trace log both indicate that the following issues have occurred:
  • A WindowsHostDataProperties.GetProcessorData function call
  • A System.InvalidOperationException exception
  • A Nullable`1 object


Workaround 1

To work around this issue, limit the number of CPUs that the operating system uses to 16. To do this, follow these steps:
  1. Click Start, click Run, type msconfig, and then press ENTER.
  2. On the Boot tab, click Advanced options.
  3. Click to select the Number of processors check box, and then select 16 or a smaller value.
  4. Click OK.
  5. Restart the computer.

Workaround 2

To work around this issue in the BIOS, set the Clustering Technology setting to Physical. The default value of this setting is Logical.

Workaround 3

To work around this issue, force the operating system to use the physical advanced programmable interrupt controller (APIC). To do this, follow these steps:
  1. Open a command prompt by using Administrator rights.
  2. At the command prompt, type the following command, and then press ENTER:
  3. Restart the computer.
Note Workaround 2 and Workaround 3 let you use up to 24 processors. This functionality is available only if you apply update 956710.

For more information, click the following article number to view the article in the Microsoft Knowledge Base:

956710 A Hyper-V update is available to increase the number of logical processors and virtual machines on a Windows Server 2008 x64-based computer


ID articolo: 976639 - Ultima revisione: 26 nov 2009 - Revisione: 1