Delen via


De PFA-geheugenlijst (Predictive Failure Analysis) beheren

Wanneer voorspellende foutanalyse (PFA) voorspelt dat een ECC-geheugenpagina (Error Correction Code) waarschijnlijk mislukt op basis van de huidige PFA-registerinstellingen, slaat PFA (of blijft) het paginaframenummer (PFN) voor de geheugenpagina.

Vanaf Windows versie 19042 worden slechte geheugenpagina's opgeslagen in het register onder HKLM\SYSTEM\CurrentControlSet\Control\WHEA\BadPages. In eerdere versies van Windows wordt deze informatie opgeslagen in het systeemarchief voor opstartconfiguratiegegevens (BCD).

Deze lijst bevat de PFN's voor alle geheugenpagina's die door de PFA zijn voorspeld, waarschijnlijk zullen uitvallen. Wanneer Windows wordt gestart, worden deze geheugenpagina's uitgesloten van systeemgebruik.

Notitie

Er is geen industriestandaard voor het toewijzen van een PFN voor fysiek geheugen aan een specifieke module voor fysiek geheugen. WHEA kan dus geen informatie verstrekken over welke geheugenmodules mislukken.

Wanneer het mislukte systeemgeheugen wordt vervangen, moet een systeembeheerder deze lijst handmatig wissen door het register bij te werken of het opdrachtregelprogramma BCDEdit te gebruiken. Als de lijst niet is gewist, blijft Windows de geheugenpagina's in de lijst uitsluiten, zelfs als de mislukte geheugenmodules zijn vervangen.

Op deze pagina wordt beschreven hoe u framenummers van pagina's uit de lijsten met slechte geheugenweergaven kunt weergeven en wissen. Als u de volgende stappen wilt uitvoeren, hebt u een opdrachtprompt met verhoogde bevoegdheid nodig:

  1. Kies Start, wijs Alle Programma'saan en selecteer vervolgens Accessoires.
  2. Selecteer met de rechtermuisknop opdrachtprompt en selecteer Als administrator uitvoeren.
  3. Als het dialoogvenster Gebruikersaccountbeheer wordt weergegeven, selecteert u Ja in het dialoogvenster.

PFN's (Page Frame Numbers) weergeven in het register

Als u de huidige lijst met PFN's in het systeemregister wilt weergeven, voert u de volgende opdracht uit vanaf de opdrachtprompt met verhoogde bevoegdheid:

reg query "HKLM\SYSTEM\CurrentControlSet\Control\WHEA" /v BadPages

Als er geen ECC-geheugenpagina's worden voorspeld te mislukken, wordt de uitvoer van de reg-opdracht weergegeven zoals in het volgende voorbeeld:

C:\Windows\system32>reg query "HKLM\SYSTEM\CurrentControlSet\Control\WHEA" /v BadPages


ERROR: The system was unable to find the specified registry key or value.

Als wordt voorspeld dat ECC-geheugenpagina's zullen mislukken, bevat de registersleutel BadPages een binaire blob die de pagina's inkapselt, zoals te zien is in het volgende voorbeeld:

C:\Windows\system32>reg query "HKLM\SYSTEM\CurrentControlSet\Control\WHEA" /v BadPages

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WHEA
    BadPages    REG_BINARY    000000000000000058140280000000005C1B0280000000007C30038000000000E2BBFC8000000000AF52188000F00F00

U kunt PowerShell gebruiken om de registergegevens te parseren en een lijst uit te voeren met behulp van het volgende script:

$whea = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\WHEA"
$pages = $whea.BadPages
$idx = 0
while($idx -le $pages.Count) {
    $slice = $pages[$idx..($idx+7)]
    [array]::Reverse($slice)
    $page = (($slice | foreach { $_.ToString("X2") }) -join "")
    Write-Output $page
    $idx = $idx + 8
}

PFNs wissen uit het register

Gebruik de volgende opdracht om de lijst met PFN's in het BCD-systeemarchief te wissen:

reg delete "HKLM\SYSTEM\CurrentControlSet\Control\WHEA" /v BadPages

Opmerking Onjuiste wijzigingen in het register kunnen voorkomen dat Windows wordt gestart. Daarom moet u de opdrachten en de bijbehorende resultaten zorgvuldig controleren voordat u Windows opnieuw start.

De huidige lijst met PFN's bekijken in de BCD-systeemopslag

U kunt de lijst met geheugenpagina's weergeven en verwijderen die zijn opgeslagen in het BCD-systeemarchief met behulp van het opdrachtregelprogramma BCDEdit. Zie BCDEdit Command-Line Options voor de lijst met opties die u kunt gebruiken.

Als u het hulpprogramma BCDEdit wilt gebruiken, moet u lid zijn van de groep Administrators op de computer.

Gebruik de volgende opdracht vanuit de opdrachtprompt met verhoogde bevoegdheid:

C:\Windows\system32>bcdedit /enum {badmemory}

Als er geen ECC-geheugenpagina's voorzien zijn om te falen, wordt de uitvoer van het hulpprogramma BCDEdit weergegeven zoals in het volgende voorbeeld:

C:\Windows\system32>bcdedit /enum {badmemory}

RAM Defects
-----------
identifier              {badmemory}

Als ECC-geheugenpagina's worden voorspeld te mislukken, bevat het {badmemory} object een badmemorylist waarde. Deze waarde bevat de lijst met PFN's voor de geheugenpagina's die PFA voorspelt te mislukken, zoals wordt weergegeven in het volgende voorbeeld:

C:\Windows\system32>bcdedit /enum {badmemory}

RAM Defects
-----------
identifier              {badmemory}
badmemorylist           0xffe38
                        0x100f

De huidige lijst met PFN's wissen uit de BCD-systeemopslag

Voer de volgende opdracht uit om de lijst met PFN's in het BCD-systeemarchief te wissen:

C:\Windows\system32>bcdedit /deletevalue {badmemory} badmemorylist

Notitie

Onjuiste wijzigingen in het BCD-systeemarchief kunnen voorkomen dat Windows wordt gestart. Daarom moet u de opdrachten en de bijbehorende resultaten zorgvuldig controleren voordat u Windows opnieuw start.