VMware: Ladění fialové diagnostické obrazovky ESXi Machine Check Exception
Summary: Jak ladit fialovou diagnostickou obrazovku (PSOD) ESXi Machine Check Exception (MCE) s příkladem.
Instructions
Popis:
Servery ESXi se mohou zastavit s fialovou diagnostickou obrazovkou (PSOD) kvůli chybám Machine Check Exception (MCE). Chyby MCE jsou způsobeny problémy s hardwarem.
Fialová diagnostická obrazovka MCE zobrazuje několik položek. Z nich MCi_STATUS Register je užitečný při ladění problému.
Podrobnosti o registraci:
- Skript
MCi_STATUSRegistr obsahuje informace o chybě kontroly stroje. - Registr se zobrazí vedle "
S:" Jak je znázorněno v následujícím příkladu:
MC: PCPU18 B:13 S:0xfe20004000011166 M:0x7246040086 A:0x38c989b100 5
Bity a jejich význam:
| 63 | 62 | 61 | 60 | 59 | 58 | 57 | 53-56 | 38-52 | 32-37 | 16-31 | 0-15 |
| příznak VALID - Pokud je nastaveno, pak je informace platná. | Příznak OVERFLOW – Je-li nastaven, pak může indikovat, že se vyskytlo více MCE blízko sebe. | Příznak UNC – Je-li nastaveno, procesor nemohl chybu opravit. | EN vlajka | MISCV flag - Pokud je nastaveno, pak MISC register obsahuje více informací. | ADDRV - Je-li nastaveno, pak registr ADDR obsahuje, kde k chybě došlo. | Příznak PCC - Pokud je nastaven, znamená to, že procesor mohl být poškozen. | Architektura, pokud je nastaven bit 11, jinak "jiné informace". | Architektura, pokud je nastaven bit 10, jinak "jiné informace". | Další informace | Chybový kód specifický pro procesor | Chybový kód kontroly stroje |
Chcete-li chybu ladit, dolních 16 bitů MCi_STATUS registrovat jsou důležité. Tyto bity značí jednoduchou nebo složenou chybu.
Možnost 1: Použití automatického nástroje
Čtečka chyb VMware Purple Diagnostic Screen (PSOD)
2. možnost: Použití ručních kroků
- Jednoduché chyby se rychle ladí
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.
- Složené chyby
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 - Příznak formuláře
0 – Normal Filtering 1 – Corrected Filtering
Filtrování znamená, že některé nebo všechny následné opravy této položky v této struktuře nejsou zaúčtovány.
- TT - Platí pro body 2 a 4 výše.
Označuje typ transakce:
00 - Instruction 01 - Data 10 - Generic
- LL – platí pro body 1, 2, 4 a 5 výše.
Označuje úroveň v hierarchii paměti, kde k chybě došlo.
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 – Označuje typ akce spojené s chybou. Jedná se o tyto akce:
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 (Participation) - Popisuje roli lokálního procesoru v chybě.
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 = Časový limit požadavku vypršel.
- II (paměť nebo I/O)
00 - M - Memory Access 10 - IO - I/O 01 - Reserved 11 - Other transaction
- Chyby řadiče paměti – definováno výše uvedenými podpoli MMM a CCCC
- MMM – chyba paměti
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 - Kanál s chybou
0000-1110 - CHN - Channel number 1111 - Channel not specified
Zde je příklad, jak analyzovat fialový diagnostický snímek obrazovky MCE:
- Zapište si
MCi_STATUSRegistrovat hodnotu. Tady je:
0xfe20004000011166.
- Převeďte jej na binární:
1111 1110 0010 0000 0000 0000 0100 0000 0000 0000 0000 0001 0001 0001 0110 0110
- Vezměte spodních 16 bitů
MCi_STATUSRegistrace:
0001 0001 0110 0110
Porovnejte to se složenými chybami. V tomto případě se zdá, že se jedná o chybu hierarchie mezipaměti (typ 4).
- Použijte hodnoty:
F = 1 RRRR = 0110 – Prefetch TT = 01 – Transaction type - Data LL = 10 – Level 2 cache
Závěr:
- Vypadá to, že fialová diagnostická obrazovka se spustila při předběžném načtení některých dat v mezipaměti L2 procesoru.
- Může se tedy jednat o problém s mezipamětí L2 v procesoru.
- Proto je třeba nejprve vyměnit procesor a poté zkontrolovat, zda je problém vyřešen. V případě, že se problém objeví znovu, lze základní desku vyměnit.