Microsoft KB Archive/932370

= The number of physical hyperthreading-enabled processors or the number of physical multicore processors is incorrectly reported in Windows Server 2003 =

Article ID: 932370

Article Last Modified on 10/12/2007

-

APPLIES TO


 * Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
 * Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
 * Microsoft Windows Server 2003, Datacenter x64 Edition
 * Microsoft Windows Server 2003, Enterprise x64 Edition
 * Microsoft Windows Server 2003, Standard x64 Edition
 * Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
 * Microsoft Windows Server 2003, Enterprise Edition
 * Microsoft Windows Server 2003, Standard Edition (32-bit x86)
 * Microsoft Windows Server 2003, Web Edition

-



SYMPTOMS
When one of the following conditions is true for a Windows Server 2003-based computer, Windows incorrectly reports the number of physical processors:
 * The computer uses one or more hyperthreading-enabled processors.
 * The computer uses one or more multicore processors.

Note On a computer that is running Windows Vista, the number of physical processors is correctly reported.



CAUSE
This issue occurs because Windows Server 2003 does not have the functionality to detect hyperthreading processors and multicore processors.

Note This functionality was introduced in Windows Vista by using the Win32_ComputerSystem class and the Win32_Processor class in Windows Management Instrumentation (WMI).



RESOLUTION
A hotfix is available to resolve this issue. After you apply this hotfix, the behavior of the Win32_ComputerSystem class and the Win32_Processor class in Windows Server 2003 is the same as the behavior of these two classes in Windows Vista.A supported hotfix is now available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next Windows Server 2003 service pack that contains this hotfix.

To resolve this problem, submit a request to Microsoft Online Customer Services to obtain the hotfix. To submit an online request to obtain the hotfix, visit the following Microsoft Web site:

http://go.microsoft.com/?linkid=6294451

Note If additional issues occur or any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. To create a separate service request, visit the following Microsoft Web site:

http://support.microsoft.com/contactus/?ws=support

Prerequisites
To apply this hotfix, you must have Windows Server 2003 Service Pack 1 (SP1) or Windows Server 2003 SP2 installed on the computer.

Restart requirement
You must restart the computer after you apply this hotfix.

Hotfix replacement information
This hotfix does not replace a previously released hotfix.

Registry information
To use this hotfix, you do not have to make any changes to the registry.

File information
The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.

Windows Server 2003 with SP2, x64-based versions


STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the &quot;Applies to&quot; section.



MORE INFORMATION
Before you apply this hotfix, the WMI classes and the WMI properties exhibit the following behavior.

Win32_ComputerSystem

 * The NumberOfLogicalProcessors property is not available.
 * The NumberOfProcessors property returns the number of logical processors that are available on the system.

Win32_Processor

 * The number of Win32_Processor instances that are returned is equal to the number of logical processors that are available on the system.
 * The NumberOfCores property is not available.
 * The NumberOfLogicalProcessors property is not available.

After you apply this hotfix, the WMI classes and the WMI properties exhibit the following behavior.

Win32_ComputerSystem

 * The NumberOfProcessors property returns the number of physical processors that are available on the system.
 * The NumberOfLogicalProcessors property returns the number of logical processors that are available on the system.

Win32_Processor

 * The number of NumberOfLogicalProcessors instances that are returned is equal to the number of logical processors that are available on the system.
 * The NumberOfCores property returns the number of cores that are available on the system.
 * The number of Win32_Processor instances that are returned is equal to the number of physical processors that are available on the system.

To determine whether hyperthreading is enabled for the processor, compare the value of the NumberOfCores property to the value of the NumberOfLogicalProcessors property. If hyperthreading is enabled in the BIOS for the processor, the value of the NumberOfCores property is less than the value of the NumberOfLogicalProcessors property.

For example, assume that a dual-processor system contains two processors that are each enabled for hyperthreading. This system can run four threads or four programs at the same time. In this case, the value of the NumberOfCores property is 2, and the value of the NumberOfLogicalProcessors property is 4.

