WinSAT crashes after you try to assess Direct3D performance in Windows 7

Applies to: Windows 7 EnterpriseWindows 7 Home BasicWindows 7 Home Premium

Symptoms


Consider the following scenario:
  • You have a computer that's running Windows 7.
  • The computer has more than 32 physical cores (without hyperthreading enabled) or more than 64 logical cores (with hyperthreading enabled).
  • You use the Windows System Assessment Tool (WinSAT) to assess Direct3D performance or to run a full system assessment.
In this scenario, WinSAT fails, and you cannot obtain system performance data.

Cause


This issue occurs because of an insufficient idle thread array size on a computer that has more than 32 physical cores (without HT) or more than 64 logical cores (with HT).

Workaround


On a system that has more than 64 logical cores with hyperthreading enabled, run the following command to limit the number of processors to 64 before you run WinSAT to work around this issue:
bcdedit /set numproc 64
On a system that has more than 32 physical cores without hyperthreading enabled, run the following command to limit the number of processors to 32 before you run WinSAT to work around this issue:

bcdedit /set numproc 32

More Information


In this scenario, the system must be fully updated through Windows Update. Otherwise, the limit is 32 logical cores.

On systems that have an SSD drive installed, run the following command from an administrative command prompt to make sure that the system is optimized for the SSD drive:

winsat -diskformal

For more information about hyperthreading, see Windows support for hyper-threading technology.