由 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 内存页:
此值可以介于 0 和 604800 之间(7 天)。 值为零表示受监视的内存页永远不会超时。默认值为 86400 (24 小时)。
注意 如果此值设置为超出允许范围的数字,则使用默认值。
|
出于应用程序兼容性原因,支持以下两个旧注册表值:
单比特ECC错误阈值
此值对应于 MemPfaThreshold 注册表值。
MaxCorrectedMCEOutstanding
此值对应于 MemPfaPageCount 注册表值。
注意 应尽可能使用本主题前面所述的注册表值,而不是这些旧注册表值。