Set-WheaMemoryPolicy

Sets the WHEA memory policy for a computer.

Syntax

Set-WheaMemoryPolicy
   [-ComputerName <String>]
   [-DisableOffline <Boolean>]
   [-DisablePFA <Boolean>]
   [-PFAErrorThreshold <UInt32>]
   [-PFAPageCount <UInt32>]
   [-PFATimeout <UInt32>]
   [-PersistMemoryOffline <Boolean>]
   [<CommonParameters>]

Description

The Set-WheaMemoryPolicy cmdlet sets the elements of the WHEA (Windows Hardware Error Architecture) memory policy on the specified computer.

WHEA receives memory errors, corrected and uncorrected, from the platform and implements a Predictive Failure Analysis (PFA) algorithm based on corrected errors. WHEA attempts to remove from the available system memory the pages that have uncorrected errors, or are predicted to fail based on corrected errors. The removal decisions can be persisted across reboots. You can change the WHEA decision criteria against memory errors by tuning the WHEA memory policy. These policy elements can be set independently of each other. The new policy element values take effect immediately.

WHEA memory policy elements are:

  • DisableOffline. Disable decisions to take memory offline based on corrected or uncorrected errors.
  • DisablePFA. Disable predictive failure analysis (PFA) of memory pages based on the number of corrected errors reported in the page.
  • PersistMemoryOffline. Persist the decisions to take memory offline across reboots. This element applies to both corrected and uncorrected errors.
  • PFAPageCount. The maximum number of memory pages that WHEA monitors using PFA.
  • PFAErrorThreshold. The number of errors that need to occur within the timeout period for the page to be candidate for removal.
  • PFATimeout. The number of seconds before PFA takes a page out of the monitoring list.

Examples

Example 1: Enable WHEA predictive failure analysis

PS C:\> Set-WheaMemoryPolicy -DisablePFA $False

This command enables predictive failure analysis on the local computer.

Example 2: Change the memory time out policy on a remote computer

PS C:\> Set-WHEAMemoryPolicy -ComputerName "TestPC" -PFATimeout 600

This command changes the WHEA memory policy on the remote computer named TestPC to use a timeout of 600 seconds.

Example 3: Get and set WHEA memory policy in a script

PS C:\> $X = Get-WheaMemoryPolicy
PS C:\> $X.DisableOffline = $True
PS C:\> $X | Set-WheaMemoryPolicy

This command gets the memory policy in the variable $X, sets the value of X. DisableOffline to True, and then uses $X to set the memory policy.

Optional Parameters

-ComputerName

Specifies the name of the remote computer from which to retrieve policy information. If you do not specify a computer name, the command returns the policy of the local computer. The alias for ComputerName is cn.

Type:String
Aliases:CN
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-DisableOffline

Disables WHEA from taking memory pages offline in response to corrected or uncorrected memory errors.

Type:Boolean
Position:Named
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False
-DisablePFA

Disables the predictive failure analysis algorithm and stops WHEA from monitoring memory pages that have corrected errors.

Type:Boolean
Position:Named
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False
-PFAErrorThreshold

Specifies the number of corrected errors that must occur before a memory page in the PFA monitoring list is considered bad and is taken offline.

Type:UInt32
Position:Named
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False
-PFAPageCount

Specifies the maximum size of the PFA monitoring list for pages that experience corrected memory errors.

Type:UInt32
Position:Named
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False
-PFATimeout

Specifies the number of seconds that WHEA monitors a memory page using PFA. WHEA starts monitoring a memory page when the page has its first corrected error. WHEA stops monitoring a memory page when one of the following events occurs:

  • The monitoring interval exceeds the PfaTimeout value.

or

  • The number of detected errors exceeds the PfaErrorThreshold value.
Type:UInt32
Position:Named
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False
-PersistMemoryOffline

Indicates whether to persist memory-offline decisions across computer reboots.

Type:Boolean
Position:Named
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False