WHEA 策略设置

由 Windows 硬件错误体系结构(WHEA)执行的预测故障分析(PFA)是使用注册表设置配置的。 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值。

注册表值名称 DESCRIPTION

DisableOffline

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

注意DisableOffline 值适用于由于 WHEA 或 PSHED 插件执行的 PFA 所预测失败的硬件组件。

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

此设置的默认值为 0。

MemPersistOffline

一个布尔值,该值指定 WHEA 脱机使 ECC 内存页是否保留在启动配置数据(BCD)存储中。 如果将其保存在 BCD 存储中,则系统重启后,ECC 内存页会立即被移除并停止运行。

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

设置值为 1 可启用 BCD 持久性。 值为 0 会禁用 BCD 持久性。

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

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 小时)。

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

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

单比特ECC错误阈值
此值对应于 MemPfaThreshold 注册表值。

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

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