WHEA Policy Settings

Predictive Failure Analysis (PFA), as performed by the Windows Hardware Error Architecture (WHEA), is configured by using registry settings. WHEA reads these registry settings when a computer system starts. Any change that you make to these settings requires you to restart the system in order for them to take effect.

Starting with Windows 8, WHEA policies can be managed either though WHEAPolicyManagementMethods or through the WHEA Powershell module. If the policy is updated through either of these modes, the policy values take effect immediately.

Note   The registry settings described in this topic are intended for use by WHEA only. If a platform-specific hardware error driver (PSHED) plug-in performs PFA and uses the registry to store its configuration settings, it must use registry values that are different from those that are described in this topic.

The WHEA PFA configuration settings are located in the following registry key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WHEA\Policy

Note  WHEA assumes the default setting for a PFA registry value if that value is not present under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WHEA\Policy.

The following table describes the various registry values that are used for PFA configuration. The registry values in the following table are REG_DWORD values.

Registry value name Description

DisableOffline

A Boolean value that specifies whether WHEA can take hardware components offline by using PFA. WHEA takes a hardware component, such as an ECC memory page, offline whenever PFA (performed by WHEA or a PSHED plug-in) determines the module has exceeded an error threshold.

Note  The DisableOffline value applies to hardware components that are predicted to fail due to PFA performed either by WHEA or a PSHED plug-in.

A value of 0 enables hardware offline support. Any other value disables hardware offline support.

The default value for this setting is 0.

MemPersistOffline

A Boolean value that specifies whether the ECC memory pages that WHEA took offline persist in the Boot Configuration Data (BCD) store. If persisted within the BCD store, the ECC memory pages will be taken offline immediately after a system has been restarted.

Note  The MemPersistOffline value applies to ECC memory pages taken offline due to PFA performed either by WHEA or a PSHED plug-in.

A value of 1 enables BCD persistence. A value of 0 disables BCD persistence.

The default value for this setting is 1 for Windows Server platforms and 0 for Windows client platforms.

MemPfaDisable

A Boolean value that specifies whether WHEA's PFA for ECC memory pages is disabled.

A value of 0 enables PFA for ECC memory pages. Any other value disables PFA for ECC memory pages.

The default value for this setting is 0.

MemPfaPageCount

A value that specifies the maximum number of ECC memory pages that WHEA monitors for PFA.

This value can be between 1 and 65536. The default value is 64.

Note  If this value is set to a number that is outside the allowable range, the default value is used.

MemPfaThreshold

A value that specifies the maximum number of errors allowed on an ECC memory page that WHEA is monitoring.

When the number of errors exceeds this threshold, WHEA stops monitoring the memory page and attempts to take the memory page offline.

This value can be between 1 and 65536. The default value is 16.

Note  If this value is set to a number that is outside the allowable range, the default value is used.

MemPfaTimeout

A value, in units of seconds, that specifies how long an ECC memory page is monitored by WHEA for PFA.

WHEA starts to monitor an ECC memory page when the first error is detected for that memory page.

WHEA stops monitoring an ECC memory page when one of the following has occurred:

  • The monitoring interval has exceeded the MemPfaTimeout value.

  • The number of detected errors has exceeded the MemPfaThreshold value.

This value can be between 0 and 604800 (7 days). A value of zero specifies that the monitored memory pages will never time out. The default value is 86400 (24 hours).

Note  If this value is set to a number that is outside the allowable range, the default value is used.

The following two legacy registry values are supported for application compatibility reasons:

SingleBitEccErrorThreshold
This value corresponds to the MemPfaThreshold registry value.

MaxCorrectedMCEOutstanding
This value corresponds to the MemPfaPageCount registry value.

Note  Whenever possible, you should use the registry values that were described earlier in this topic instead of these legacy registry values.