WHEA 策略设置

预测故障分析 (PFA) (由 Windows 硬件错误体系结构 (WHEA) 执行)使用注册表设置进行配置。 当计算机系统启动时,WHEA 读取这些注册表设置。 对这些设置所做的任何更改都需要重启系统才能生效。

从Windows 8开始,可以通过 WHEAPolicyManagementMethods 或通过 WHEA Powershell 模块管理 WHEA 策略。 如果通过上述任一模式更新策略,则策略值将立即生效。

注意 本主题中所述的注册表设置仅供 WHEA 使用。 如果 特定于平台的硬件错误驱动程序 (PSHED) 插件 执行 PFA 并使用注册表来存储其配置设置,则必须使用与本主题中所述的值不同的注册表值。

WHEA PFA 配置设置位于以下注册表项中:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WHEA\Policy

注意 如果 PFA 注册表值在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WHEA\Policy下不存在,则 WHEA 将采用默认设置。

下表描述了用于 PFA 配置的各种注册表值。 下表中的注册表值是REG_DWORD值。

注册表值名称 说明

DisableOffline

一个布尔值,指定 WHEA 是否可以使用 PFA 使硬件组件脱机。 每当 WHEA 执行的 PFA (或 PSHED 插件) 确定模块已超出错误阈值时,WHEA 就会使硬件组件(如 ECC 内存页)脱机。

注意DisableOffline 值适用于预计由于 WHEA 或 PSHED 插件执行的 PFA 而发生故障的硬件组件。

值为 0 可启用硬件脱机支持。 任何其他值都禁用硬件脱机支持。

此设置的默认值为 0。

MemPersistOffline

一个布尔值,指定 WHEA 脱机的 ECC 内存页是否保留在启动配置数据 (BCD) 存储中。 如果持久保存在 BCD 存储中,ECC 内存页将在系统重启后立即脱机。

注意MemPersistOffline 值适用于由于 WHEA 或 PSHED 插件执行的 PFA 而脱机的 ECC 内存页。

如果值为 1,则启用 BCD 持久性。 如果值为 0,则禁用 BCD 持久性。

对于 Windows Server 平台,此设置的默认值为 1,对于 Windows 客户端平台,默认值为 0。

MemPfaDisable

一个布尔值,指定是否禁用 WHEA 的 ECC 内存页的 PFA。

值为 0 可为 ECC 内存页启用 PFA。 任何其他值禁用 ECC 内存页的 PFA。

此设置的默认值为 0。

MemPfaPageCount

一个 值,该值指定 WHEA 监视 PFA 的最大 ECC 内存页数。

此值可以介于 1 和 65536 之间。 默认值为 64。

注意 如果此值设置为超出允许范围的数字,则使用默认值。

MemPfaThreshold

一个 值,该值指定 WHEA 正在监视的 ECC 内存页上允许的最大错误数。

当错误数超过此阈值时,WHEA 将停止监视内存页,并尝试使内存页脱机。

此值可以介于 1 和 65536 之间。 默认值为 16。

注意 如果此值设置为超出允许范围的数字,则使用默认值。

MemPfaTimeout

一个值(以秒为单位),指定 WHEA 针对 PFA 监视 ECC 内存页的时间。

当检测到该内存页的第一个错误时,WHEA 开始监视 ECC 内存页。

发生以下任一情况时,WHEA 将停止监视 ECC 内存页:

  • 监视间隔已超出 MemPfaTimeout 值。

  • 检测到的错误数已超过 MemPfaThreshold 值。

此值可以是 0 到 604800 (7 天) 。 值为零指定受监视的内存页永远不会超时。默认值为 86400 (24 小时) 。

注意 如果此值设置为超出允许范围的数字,则使用默认值。

出于应用程序兼容性原因,支持以下两个旧注册表值:

SingleBitEccErrorThreshold
此值对应于 MemPfaThreshold 注册表值。

MaxCorrectedMCEOutstanding
此值对应于 MemPfaPageCount 注册表值。

注意 应尽可能使用本主题前面所述的注册表值,而不是这些旧注册表值。