VMware: Feilsøking ESXi-maskinkontrollunntak Lilla diagnoseskjerm
Summary: Slik feilsøker du ESXi Machine Check Exception (MCE) lilla diagnoseskjerm (PSOD) med et eksempel.
Instructions
Beskrivelse:
ESXi-servere kan stoppe med lilla diagnoseskjerm (PSOD) på grunn av MCE-feil (Machine Check Exception). MCE-feil skyldes maskinvareproblemer.
MCE-diagnostikkskjermen i lilla format viser flere elementer. Av disse er MCi_STATUS register er nyttig i feilsøking av problemet.
Registrer detaljer:
- Informasjonen i
MCi_STATUSRegisteret består av informasjon om maskinkontrollfeilen. - Registeret vises ved siden av "
S:" Som vist i eksemplet nedenfor:
MC: PCPU18 B:13 S:0xfe20004000011166 M:0x7246040086 A:0x38c989b100 5
Biter og deres betydning:
| 63 | 62 | 61 | 60 | 59 | 58 | 57 | 53-56 | 38-52 | 32-37 | 16-31 | 0-15 |
| GYLDIG flagg - Hvis angitt, er informasjonen gyldig. | OVERFLOW-flagg - Hvis angitt, kan det indikere at flere MCE-er skjedde i nærheten av hverandre. | UNC-flagg – Hvis angitt, kan ikke CPU rette feilen. | EN-flagg | MISCV-flagg - Hvis angitt, inneholder MISC-registeret mer informasjon. | ADDRV - Hvis angitt, inneholder ADDR-registeret hvor feilen oppstod. | PCC-flagg - Hvis angitt, betyr det at prosessoren kan ha blitt ødelagt. | Arkitektonisk hvis bit 11 er satt, ellers "annen informasjon." | Arkitektonisk hvis bit 10 er satt, ellers "annen informasjon." | Annen informasjon | Modellspesifikk feilkode for CPU | Feilkode for maskinkontroll |
For å feilsøke feilen, den lave 16 biter av MCi_STATUS Registrering er viktig. Disse bitene indikerer en enkel eller sammensatt feil.
Alternativ 1: Bruke automatiske verktøy
Feilleser for VMware Purple Diagnostic Screen (PSOD)
Alternativ 2: Bruke manuelle trinn
- Enkle feil er raske å feilsøke
0000 0000 0000 0000 -- No Error reported to this bank of error-reporting registers. 0000 0000 0000 0001 -- Unclassified - Error has not been classified. 0000 0000 0000 0010 -- Parity error in internal microcode ROM. 0000 0000 0000 0011 -- External error-BINIT# from another processor caused this processor MCE. Happens only if BINIT# observation enabled during power on. 0000 0000 0000 0100 -- Functional redundancy check master/slave error. 0000 0000 0000 0101 -- Internal parity error. 0000 0000 0000 0110 -- SMM handler tried to execute outside the ranges specified by SMRR. 0000 0100 0000 0000 -- Internal timer error. 0000 1110 0000 1011 -- I/O error. 0000 01xx xxxx xxxx -- Internal unclassified error. Atleast one X must be equal to 1.
- Sammensatte feil
000F 0000 0000 11LL - Generic Cache Hierarchy error.
000F 0000 0001 TTLL - {TT}TLB{LL}_ERR. TLB errors.
000F 0000 1MMM CCCC - {MMM}_Channel{CCCC}_ERR - Memory controller errors.
000F 0001 RRRR TTLL - {TT}CACHE{LL}_{RRRR}_ERR - Cache Hierarchy errors.
000F 1PPT RRRR IILL - BUS{LL}_{PP}_{RRRR}_{II}_T_ERR - Bus and Interconnect errors.
- F - Skjemaflagg
0 – Normal Filtering 1 – Corrected Filtering
Filtrering betyr at noen av eller alle de påfølgende rettelsene i denne oppføringen i denne strukturen ikke posteres.
- TT - Gjelder 2 og 4 ovenfor.
Angir type transaksjon:
00 - Instruction 01 - Data 10 - Generic
- LL - Gjelder 1, 2, 4 og 5 ovenfor.
Dette angir nivået i minnehierarkiet der feilen oppstod.
00 - Level 0 - L0 01 - Level 1 - L1 10 - Level 2 - L2 11 - Generic – LG (It is shown only when processor cannot determine the hierarchy level)
- RRRR – angir handlingstypen som er knyttet til feilen. Handlingene er:
0000 - Generic Error - ERR 0001 - Generic Read - RD 0010 - Generic Write - WR 0011 - Data Read - DRD 0100 - Data Write - DWR 0101 - Instruction Fetch - IRD 0110 - Prefetch - PREFETCH 0111 - Eviction - EVICT 1000 - Snoop - SNOOP
- PP (deltakelse) – beskriver rollen til den lokale prosessoren i feilen.
00 - SRC - Local processor originated request 01 - RES - Local processor responded to request 10 - OBS - Local processor observed error as third party 11 - Generic
- T (Time-out) – 1 = Forespørselen ble tidsavbrutt.
- II (minne eller I/O)
00 - M - Memory Access 10 - IO - I/O 01 - Reserved 11 - Other transaction
- Minnekontrollerfeil – definert av MMM- og CCCC-underfeltene ovenfor
- MMM – minnefeil
000 - GEN - Generic undefined request 001 - RD - Memory read error 010 - WR - Memory write error 011 - AC - Address/Command error 100 - MS - Memory Scrubbing error 101-111 - Reserved
- CCCC – kanal med feilen
0000-1110 - CHN - Channel number 1111 - Channel not specified
Her er et eksempel på hvordan du analyserer et MCE lilla diagnostisk skjermbilde:
- Skriv ned
MCi_STATUSRegistrer verdi. Her er det:
0xfe20004000011166.
- Konverter den til binær:
1111 1110 0010 0000 0000 0000 0100 0000 0000 0000 0000 0001 0001 0001 0110 0110
- Ta de nederste 16 bitene av
MCi_STATUSRegistrering:
0001 0001 0110 0110
Sammenlign det med sammensatte feil. I dette tilfellet ser dette ut til å være en cache-hierarkifeil (type 4).
- Bruk verdiene:
F = 1 RRRR = 0110 – Prefetch TT = 01 – Transaction type - Data LL = 10 – Level 2 cache
Konklusjon:
- Det ser ut til at den lilla diagnoseskjermen oppstod mens det var en forhåndshentingsoperasjon på noen data i L2-hurtigbufferen til prosessoren.
- Dermed kan dette være et problem med L2-hurtigbufferen på prosessoren.
- Derfor bør CPU byttes ut først og deretter sjekke om problemet er løst. I tilfelle problemet kommer opp igjen, kan hovedkortet byttes ut.